blob: f480d1c10c331122a023c4031ae6b5661cbcd8bd [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 Spencere4d87aa2006-12-23 06:05:41 +0000320#define YY_NUM_RULES 141
321#define YY_END_OF_BUFFER 142
322static yyconst short int yy_acclist[219] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000324 142, 140, 141, 139, 140, 141, 139, 141, 140, 141,
325 140, 141, 140, 141, 140, 141, 140, 141, 140, 141,
326 132, 140, 141, 132, 140, 141, 1, 140, 141, 140,
327 141, 140, 141, 140, 141, 140, 141, 140, 141, 140,
328 141, 140, 141, 140, 141, 140, 141, 140, 141, 140,
329 141, 140, 141, 140, 141, 140, 141, 140, 141, 140,
330 141, 140, 141, 140, 141, 140, 141, 140, 141, 140,
331 141, 131, 129, 128, 128, 135, 133, 137, 132, 1,
332 114, 38, 74, 75, 70, 22, 131, 128, 128, 136,
333 137, 19, 137, 138, 60, 69, 36, 31, 39, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencere4d87aa2006-12-23 06:05:41 +0000335 51, 62, 84, 89, 87, 88, 86, 85, 90, 94,
336 113, 79, 77, 109, 78, 76, 61, 92, 83, 81,
337 82, 80, 93, 91, 71, 130, 137, 137, 111, 46,
338 95, 73, 65, 121, 68, 72, 122, 53, 110, 21,
339 134, 64, 98, 67, 23, 4, 58, 63, 52, 66,
340 45, 11, 97, 137, 33, 2, 5, 55, 100, 57,
341 47, 49, 123, 96, 48, 54, 20, 120, 42, 56,
342 27, 41, 104, 103, 7, 116, 30, 119, 35, 59,
343 108, 102, 115, 24, 25, 101, 117, 50, 112, 107,
344 40, 6, 26, 99, 34, 8, 16, 9, 105, 10,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencere4d87aa2006-12-23 06:05:41 +0000346 106, 32, 12, 14, 13, 29, 37, 15, 28, 118,
347 124, 126, 127, 43, 125, 17, 44, 18
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencere4d87aa2006-12-23 06:05:41 +0000350static yyconst short int yy_accept[570] =
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,
369 100, 101, 101, 101, 101, 101, 101, 101, 101, 101,
370 101, 101, 101, 101, 101, 101, 102, 102, 102, 102,
371 102, 102, 102, 102, 102, 102, 103, 103, 104, 105,
372 106, 107, 108, 109, 109, 110, 111, 111, 111, 112,
Reid Spencer3da59db2006-11-27 01:05:10 +0000373
Reid Spencere4d87aa2006-12-23 06:05:41 +0000374 112, 112, 112, 112, 112, 112, 113, 114, 115, 115,
375 115, 115, 115, 116, 117, 117, 117, 118, 118, 118,
376 118, 118, 118, 118, 118, 118, 119, 120, 121, 121,
377 121, 122, 122, 123, 123, 124, 125, 125, 125, 125,
378 125, 125, 125, 125, 125, 125, 126, 126, 126, 127,
379 128, 128, 128, 128, 129, 129, 129, 129, 130, 130,
380 130, 131, 132, 132, 132, 132, 132, 132, 132, 132,
381 132, 132, 132, 132, 132, 132, 132, 133, 134, 134,
382 134, 134, 134, 135, 136, 136, 136, 137, 137, 137,
383 137, 137, 137, 137, 137, 137, 138, 139, 140, 140,
Owen Anderson1dc69692006-10-18 02:21:48 +0000384
Reid Spencere4d87aa2006-12-23 06:05:41 +0000385 140, 141, 141, 141, 141, 142, 142, 143, 143, 143,
386 144, 144, 144, 144, 144, 145, 145, 145, 146, 146,
387 146, 147, 147, 148, 148, 149, 150, 150, 150, 150,
388 150, 150, 151, 151, 151, 152, 152, 153, 153, 153,
389 154, 155, 156, 156, 156, 157, 157, 157, 157, 157,
390 157, 157, 157, 157, 157, 157, 157, 157, 157, 158,
391 158, 159, 160, 160, 160, 160, 160, 160, 160, 160,
392 160, 160, 160, 161, 161, 161, 161, 161, 161, 161,
393 161, 162, 162, 162, 163, 163, 163, 163, 164, 164,
394 164, 164, 165, 166, 166, 167, 168, 168, 168, 168,
Owen Anderson1dc69692006-10-18 02:21:48 +0000395
Reid Spencere4d87aa2006-12-23 06:05:41 +0000396 168, 168, 168, 168, 168, 169, 169, 169, 170, 170,
397 170, 170, 170, 170, 170, 170, 171, 172, 172, 172,
398 173, 174, 175, 175, 175, 176, 176, 176, 176, 176,
399 177, 177, 178, 179, 180, 181, 181, 181, 181, 182,
400 182, 182, 183, 184, 185, 186, 187, 187, 188, 189,
401 190, 190, 190, 190, 190, 190, 191, 191, 192, 192,
402 193, 194, 194, 194, 194, 194, 194, 195, 195, 195,
403 195, 195, 195, 195, 195, 195, 196, 196, 196, 196,
404 196, 196, 196, 196, 196, 197, 197, 197, 197, 197,
405 198, 198, 198, 198, 198, 199, 200, 201, 201, 202,
Owen Anderson1dc69692006-10-18 02:21:48 +0000406
Reid Spencere4d87aa2006-12-23 06:05:41 +0000407 202, 202, 202, 203, 203, 203, 203, 204, 204, 205,
408 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
409 206, 206, 206, 207, 207, 207, 207, 207, 207, 207,
410 207, 208, 208, 208, 208, 208, 209, 209, 209, 209,
411 209, 210, 210, 211, 211, 211, 211, 211, 211, 211,
412 211, 211, 211, 211, 211, 211, 212, 212, 213, 214,
413 214, 215, 215, 216, 217, 218, 218, 219, 219
Owen Anderson1dc69692006-10-18 02:21:48 +0000414 } ;
415
416static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000417 { 0,
418 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
419 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
421 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
422 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000423 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
424 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000425 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
426 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000427 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000428
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000429 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
430 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
431 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439
440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
445 1, 1, 1, 1, 1
446 } ;
447
Owen Anderson1dc69692006-10-18 02:21:48 +0000448static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000449 { 0,
450 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000451 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000452 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
453 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000454 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000455 } ;
456
Reid Spencere4d87aa2006-12-23 06:05:41 +0000457static yyconst short int yy_base[574] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000458 { 0,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000459 0, 0, 1226, 1227, 1227, 1227, 1221, 1210, 36, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000460 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000461 108, 91, 95, 92, 72, 109, 134, 119, 117, 160,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000462 120, 191, 139, 121, 136, 150, 1219, 1227, 1208, 1227,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000463 0, 165, 180, 197, 219, 70, 224, 239, 244, 0,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000464 68, 152, 93, 128, 158, 190, 245, 31, 1207, 188,
465 182, 211, 48, 207, 248, 210, 122, 124, 1206, 209,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000466 257, 258, 185, 259, 260, 261, 262, 263, 264, 265,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000467 266, 276, 273, 287, 286, 278, 294, 295, 1205, 297,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000468 299, 300, 305, 306, 303, 313, 307, 311, 301, 316,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000469
Reid Spencere4d87aa2006-12-23 06:05:41 +0000470 46, 317, 318, 325, 326, 329, 333, 327, 334, 330,
471 351, 342, 346, 1204, 358, 354, 337, 361, 360, 363,
472 362, 366, 369, 383, 364, 271, 381, 388, 231, 370,
473 397, 1203, 0, 402, 406, 1202, 429, 446, 0, 1201,
474 406, 412, 1200, 407, 410, 1199, 408, 1198, 413, 419,
475 422, 1197, 433, 414, 447, 448, 435, 449, 452, 451,
476 454, 459, 455, 458, 460, 180, 466, 462, 469, 475,
477 463, 470, 473, 478, 474, 485, 482, 486, 488, 496,
478 497, 498, 499, 501, 503, 1196, 506, 1195, 1194, 1193,
479 1192, 1191, 1190, 504, 1189, 1188, 511, 507, 1187, 535,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000480
Reid Spencere4d87aa2006-12-23 06:05:41 +0000481 512, 514, 513, 517, 523, 1186, 1185, 1184, 529, 515,
482 547, 548, 1183, 1182, 549, 551, 1181, 552, 553, 558,
483 554, 561, 555, 557, 559, 1180, 1179, 1178, 560, 563,
484 1177, 562, 1176, 567, 1175, 1174, 577, 574, 582, 571,
485 585, 510, 588, 591, 592, 1173, 594, 595, 1227, 604,
486 623, 612, 627, 632, 597, 599, 633, 1172, 634, 635,
487 1171, 1170, 636, 615, 637, 639, 641, 642, 644, 645,
488 647, 648, 649, 652, 656, 659, 1169, 1168, 658, 663,
489 667, 664, 1167, 1166, 668, 669, 1165, 673, 672, 675,
490 676, 678, 680, 679, 684, 1164, 1163, 1162, 685, 687,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000491
Reid Spencere4d87aa2006-12-23 06:05:41 +0000492 1161, 677, 690, 698, 0, 700, 1160, 704, 705, 1159,
493 706, 708, 710, 711, 1158, 714, 715, 1157, 724, 720,
494 1156, 725, 1155, 727, 1154, 1153, 728, 726, 730, 734,
495 731, 1152, 741, 742, 1151, 743, 1150, 745, 744, 1149,
496 753, 1148, 753, 746, 1147, 747, 761, 759, 765, 770,
497 756, 773, 771, 774, 776, 778, 780, 781, 1146, 782,
498 1145, 1144, 783, 786, 784, 791, 787, 792, 794, 798,
499 803, 804, 1143, 806, 805, 809, 810, 811, 812, 818,
500 1142, 807, 824, 1141, 826, 827, 829, 1140, 411, 828,
501 830, 1139, 1138, 833, 1137, 1136, 835, 832, 834, 838,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000502
Reid Spencere4d87aa2006-12-23 06:05:41 +0000503 843, 845, 836, 844, 1135, 853, 846, 1134, 854, 855,
504 858, 863, 860, 865, 867, 1133, 1132, 870, 864, 1131,
505 1130, 1129, 873, 868, 1128, 879, 881, 889, 876, 1127,
506 891, 1126, 1125, 1124, 1123, 892, 878, 893, 1122, 896,
507 897, 1121, 1120, 1119, 1118, 1117, 900, 1116, 1115, 1114,
508 901, 902, 903, 904, 906, 1113, 908, 1112, 909, 1111,
509 1110, 914, 915, 918, 919, 920, 1109, 921, 922, 925,
510 926, 928, 933, 932, 937, 1108, 938, 943, 945, 946,
511 947, 951, 948, 953, 1107, 956, 959, 961, 957, 1106,
512 962, 968, 965, 967, 1105, 1104, 1103, 973, 1102, 969,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000513
Reid Spencere4d87aa2006-12-23 06:05:41 +0000514 972, 975, 1101, 983, 987, 989, 1098, 974, 1088, 1086,
515 991, 994, 993, 995, 998, 999, 1001, 1004, 1005, 1006,
516 1007, 1010, 1085, 1009, 1013, 1012, 1017, 1021, 1024, 1018,
517 1084, 1025, 1032, 1035, 1036, 1083, 1037, 1019, 1026, 1038,
518 1082, 1043, 1077, 1044, 1045, 1049, 1048, 1053, 1054, 1056,
519 1057, 1060, 1063, 1058, 1066, 1076, 1064, 1073, 877, 1068,
520 760, 1071, 707, 604, 522, 1069, 368, 1227, 1104, 1106,
521 349, 1110, 151
Reid Spencer68a24bd2005-08-27 18:50:39 +0000522 } ;
523
Reid Spencere4d87aa2006-12-23 06:05:41 +0000524static yyconst short int yy_def[574] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000525 { 0,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000526 568, 1, 568, 568, 568, 568, 569, 570, 571, 568,
527 570, 570, 570, 570, 572, 570, 570, 570, 570, 570,
528 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
529 570, 570, 570, 570, 570, 570, 569, 568, 570, 568,
530 573, 573, 568, 568, 570, 570, 570, 570, 570, 572,
531 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
532 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
533 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
534 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
535 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000536
Reid Spencere4d87aa2006-12-23 06:05:41 +0000537 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
538 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
539 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
540 570, 568, 573, 573, 568, 570, 570, 570, 49, 570,
541 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
542 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
543 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
544 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
545 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
546 570, 570, 570, 570, 570, 570, 570, 570, 570, 49,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000547
Reid Spencere4d87aa2006-12-23 06:05:41 +0000548 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
549 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
550 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
551 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
552 570, 570, 570, 570, 570, 570, 570, 570, 568, 568,
553 568, 568, 570, 570, 570, 570, 570, 570, 570, 570,
554 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
555 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
556 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
557 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000558
Reid Spencere4d87aa2006-12-23 06:05:41 +0000559 570, 570, 570, 570, 200, 570, 570, 570, 570, 570,
560 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
561 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
562 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
563 568, 570, 570, 570, 570, 570, 570, 570, 570, 570,
564 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
565 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
566 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
567 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
568 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000569
Reid Spencere4d87aa2006-12-23 06:05:41 +0000570 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
571 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
572 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
573 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
574 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
575 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
576 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
577 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
578 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
579 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000580
Reid Spencere4d87aa2006-12-23 06:05:41 +0000581 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
582 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
583 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
584 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
585 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
586 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
587 570, 570, 570, 570, 570, 570, 570, 0, 568, 568,
588 568, 568, 568
Reid Spencer68a24bd2005-08-27 18:50:39 +0000589 } ;
590
Reid Spencere4d87aa2006-12-23 06:05:41 +0000591static yyconst short int yy_nxt[1271] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000592 { 0,
593 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000594 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
595 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
596 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
597 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000598 44, 44, 44, 45, 45, 45, 45, 40, 46, 40,
599 40, 40, 150, 40, 47, 48, 48, 48, 48, 40,
600 47, 48, 48, 48, 48, 40, 40, 68, 136, 40,
601 69, 40, 155, 40, 51, 40, 200, 70, 56, 140,
Reid Spencera132e042006-12-03 05:46:11 +0000602 86, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000603
Reid Spencera132e042006-12-03 05:46:11 +0000604 59, 61, 40, 87, 40, 40, 40, 64, 40, 88,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000605 82, 65, 62, 77, 143, 79, 63, 66, 83, 78,
Reid Spencera132e042006-12-03 05:46:11 +0000606 67, 40, 40, 84, 80, 81, 71, 85, 72, 73,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000607 40, 89, 40, 40, 40, 40, 74, 40, 113, 100,
608 75, 40, 76, 128, 97, 161, 90, 40, 129, 40,
609 98, 114, 40, 133, 115, 99, 91, 126, 92, 160,
610 144, 116, 93, 40, 94, 40, 95, 130, 96, 101,
611 127, 40, 131, 40, 134, 134, 134, 134, 141, 102,
612 142, 103, 104, 145, 105, 106, 107, 146, 108, 43,
613 43, 43, 43, 40, 109, 40, 110, 111, 40, 112,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000614
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000615 101, 40, 152, 40, 40, 135, 44, 44, 44, 44,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000616 117, 166, 118, 119, 147, 120, 151, 121, 278, 122,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000617 40, 123, 40, 40, 40, 124, 125, 47, 45, 45,
618 45, 45, 40, 137, 137, 137, 137, 40, 159, 153,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000619 138, 154, 245, 156, 40, 162, 138, 47, 48, 48,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000620 48, 48, 40, 139, 139, 139, 139, 40, 40, 139,
621 139, 40, 139, 139, 139, 139, 139, 139, 157, 148,
622 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000623 158, 149, 168, 170, 40, 163, 40, 165, 241, 40,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000624 167, 40, 164, 173, 172, 178, 169, 174, 171, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000625
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000626 40, 175, 176, 179, 177, 181, 184, 40, 40, 180,
627 40, 183, 40, 40, 40, 185, 40, 182, 40, 40,
628 40, 194, 189, 186, 40, 187, 40, 191, 193, 40,
629 40, 40, 188, 196, 195, 198, 190, 197, 40, 40,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000630 40, 192, 40, 40, 202, 203, 40, 40, 206, 213,
631 40, 41, 199, 204, 211, 40, 215, 208, 201, 40,
632 209, 216, 207, 214, 40, 205, 210, 40, 218, 212,
633 217, 40, 219, 40, 40, 40, 40, 40, 224, 40,
634 220, 40, 40, 40, 221, 227, 223, 225, 231, 240,
635 234, 235, 229, 226, 40, 222, 40, 232, 230, 228,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000636
Reid Spencere4d87aa2006-12-23 06:05:41 +0000637 236, 40, 233, 237, 246, 239, 244, 242, 238, 243,
638 40, 134, 134, 134, 134, 250, 250, 250, 250, 40,
639 40, 40, 251, 40, 40, 40, 40, 40, 251, 257,
640 255, 247, 40, 260, 259, 40, 443, 248, 137, 137,
641 137, 137, 40, 256, 258, 138, 40, 261, 40, 264,
642 262, 138, 252, 253, 263, 254, 254, 254, 254, 40,
643 40, 40, 40, 267, 40, 40, 266, 40, 40, 265,
644 271, 40, 40, 40, 269, 40, 40, 268, 270, 40,
645 272, 273, 40, 40, 279, 285, 40, 40, 40, 286,
646 275, 40, 277, 274, 276, 40, 289, 283, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000647
Reid Spencere4d87aa2006-12-23 06:05:41 +0000648 281, 40, 280, 282, 284, 287, 288, 290, 293, 40,
649 40, 40, 40, 292, 40, 294, 40, 40, 296, 40,
650 40, 291, 297, 40, 40, 40, 40, 40, 40, 299,
651 40, 335, 295, 298, 301, 40, 40, 302, 312, 309,
652 300, 303, 40, 304, 305, 305, 305, 305, 306, 308,
653 305, 305, 307, 305, 305, 305, 305, 305, 305, 310,
654 40, 40, 40, 311, 40, 40, 40, 40, 40, 313,
655 40, 40, 40, 40, 40, 40, 40, 323, 315, 314,
656 40, 318, 319, 321, 40, 316, 320, 40, 317, 329,
657 40, 322, 328, 324, 327, 40, 326, 325, 40, 330,
Reid Spencer3da59db2006-11-27 01:05:10 +0000658
Reid Spencere4d87aa2006-12-23 06:05:41 +0000659 331, 40, 333, 334, 40, 40, 336, 40, 40, 338,
660 40, 332, 40, 250, 250, 250, 250, 40, 337, 343,
661 251, 341, 341, 341, 341, 339, 251, 342, 40, 252,
662 252, 340, 341, 341, 341, 341, 254, 254, 254, 254,
663 40, 254, 254, 254, 254, 40, 40, 40, 40, 40,
664 40, 348, 40, 346, 40, 40, 347, 40, 40, 351,
665 40, 40, 40, 344, 345, 40, 356, 350, 352, 40,
666 358, 40, 40, 349, 354, 355, 40, 40, 359, 360,
667 40, 40, 40, 357, 353, 40, 40, 367, 40, 40,
668 40, 40, 40, 40, 361, 368, 366, 40, 40, 362,
Reid Spencer3da59db2006-11-27 01:05:10 +0000669
Reid Spencere4d87aa2006-12-23 06:05:41 +0000670 40, 365, 363, 40, 364, 372, 369, 371, 373, 370,
671 374, 40, 375, 40, 378, 377, 376, 40, 40, 40,
672 40, 40, 381, 40, 40, 383, 379, 40, 40, 380,
673 382, 385, 386, 40, 387, 389, 388, 40, 40, 40,
674 40, 40, 384, 40, 40, 392, 390, 40, 391, 393,
675 395, 394, 397, 396, 40, 40, 40, 40, 40, 40,
676 40, 398, 341, 341, 341, 341, 40, 406, 402, 40,
677 404, 405, 40, 40, 40, 399, 400, 409, 40, 401,
678 403, 408, 407, 40, 40, 410, 40, 40, 411, 40,
679 412, 40, 413, 40, 40, 40, 40, 40, 416, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000680
Reid Spencere4d87aa2006-12-23 06:05:41 +0000681 40, 419, 420, 414, 40, 40, 415, 40, 417, 421,
682 418, 40, 422, 424, 423, 425, 40, 40, 40, 40,
683 40, 426, 40, 40, 40, 40, 430, 432, 428, 433,
684 427, 40, 434, 435, 436, 429, 431, 40, 438, 40,
685 40, 40, 40, 40, 437, 40, 40, 40, 40, 40,
686 441, 40, 445, 448, 440, 447, 40, 40, 40, 40,
687 439, 442, 450, 452, 444, 446, 40, 40, 40, 451,
688 449, 40, 453, 40, 454, 458, 40, 40, 40, 455,
689 40, 40, 456, 40, 457, 460, 40, 464, 465, 40,
690 40, 40, 40, 467, 40, 461, 462, 468, 463, 459,
Reid Spencer3da59db2006-11-27 01:05:10 +0000691
Reid Spencere4d87aa2006-12-23 06:05:41 +0000692 466, 469, 40, 470, 40, 40, 40, 471, 475, 40,
693 40, 473, 472, 40, 40, 40, 40, 40, 477, 40,
694 478, 40, 40, 476, 482, 479, 474, 40, 40, 480,
695 483, 40, 40, 40, 40, 40, 484, 481, 40, 40,
696 486, 40, 491, 492, 485, 40, 40, 490, 487, 488,
697 40, 40, 493, 494, 495, 497, 40, 489, 40, 40,
698 40, 40, 496, 502, 40, 501, 40, 498, 503, 40,
699 40, 505, 40, 499, 40, 40, 500, 507, 40, 511,
700 40, 40, 40, 504, 506, 40, 40, 40, 40, 515,
701 512, 517, 518, 508, 519, 509, 40, 510, 513, 516,
Reid Spencer3da59db2006-11-27 01:05:10 +0000702
Reid Spencere4d87aa2006-12-23 06:05:41 +0000703 40, 514, 40, 520, 40, 521, 40, 40, 40, 524,
704 523, 40, 40, 527, 40, 522, 525, 40, 40, 40,
705 40, 530, 40, 40, 533, 40, 40, 528, 535, 526,
706 40, 40, 40, 532, 40, 534, 536, 40, 40, 40,
707 531, 529, 537, 540, 538, 40, 541, 543, 40, 40,
708 40, 40, 549, 539, 542, 548, 40, 40, 40, 547,
709 544, 40, 40, 545, 546, 553, 40, 40, 550, 40,
710 40, 40, 552, 40, 551, 554, 40, 40, 555, 40,
711 560, 40, 40, 561, 40, 557, 40, 556, 565, 40,
712 40, 559, 558, 566, 564, 40, 40, 40, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000713
Reid Spencere4d87aa2006-12-23 06:05:41 +0000714 562, 40, 563, 567, 37, 37, 37, 37, 39, 39,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000715 50, 40, 50, 50, 40, 40, 40, 40, 40, 40,
716 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000717 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000718 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000719 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
720 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000721 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000722 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
723 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000724
Reid Spencer3ed469c2006-11-02 20:25:50 +0000725 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000726 40, 40, 40, 40, 40, 40, 249, 40, 40, 40,
727 40, 40, 132, 40, 38, 568, 3, 568, 568, 568,
728 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
729 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
730 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
731 568, 568, 568, 568, 568, 568, 568, 568, 568, 568
Reid Spencer68a24bd2005-08-27 18:50:39 +0000732 } ;
733
Reid Spencere4d87aa2006-12-23 06:05:41 +0000734static yyconst short int yy_chk[1271] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000735 { 0,
736 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000740 1, 1, 1, 9, 58, 9, 9, 9, 9, 10,
741 10, 10, 10, 11, 11, 11, 11, 11, 12, 101,
742 20, 63, 58, 12, 13, 13, 13, 13, 13, 13,
743 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
744 20, 51, 63, 46, 16, 25, 101, 20, 17, 51,
Reid Spencera132e042006-12-03 05:46:11 +0000745 25, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000746
Reid Spencera132e042006-12-03 05:46:11 +0000747 17, 18, 19, 25, 22, 24, 53, 19, 23, 25,
748 24, 19, 18, 22, 53, 23, 18, 19, 24, 22,
749 19, 21, 26, 24, 23, 23, 21, 24, 21, 21,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000750 29, 26, 28, 31, 34, 67, 21, 68, 31, 29,
751 21, 54, 21, 34, 28, 68, 26, 27, 35, 35,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000752 28, 31, 33, 573, 31, 28, 27, 33, 27, 67,
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000753 54, 31, 27, 36, 27, 52, 27, 35, 27, 30,
754 33, 55, 36, 30, 42, 42, 42, 42, 52, 30,
755 52, 30, 30, 55, 30, 30, 30, 55, 30, 43,
756 43, 43, 43, 166, 30, 61, 30, 30, 73, 30,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000757
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000758 32, 60, 61, 56, 32, 44, 44, 44, 44, 44,
759 32, 73, 32, 32, 56, 32, 60, 32, 166, 32,
760 64, 32, 70, 66, 62, 32, 32, 45, 45, 45,
761 45, 45, 45, 47, 47, 47, 47, 47, 66, 62,
762 47, 62, 129, 64, 129, 70, 47, 48, 48, 48,
763 48, 48, 48, 49, 49, 49, 49, 49, 57, 49,
764 49, 65, 49, 49, 49, 49, 49, 49, 65, 57,
765 71, 72, 74, 75, 76, 77, 78, 79, 80, 81,
766 65, 57, 75, 76, 126, 71, 83, 72, 126, 82,
767 74, 86, 71, 79, 78, 82, 75, 80, 77, 85,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000768
Reid Spencer6e18b7d2006-12-03 06:59:29 +0000769 84, 81, 81, 83, 81, 84, 86, 87, 88, 83,
770 90, 85, 91, 92, 99, 87, 95, 84, 93, 94,
771 97, 95, 92, 88, 98, 90, 96, 93, 94, 100,
772 102, 103, 91, 97, 96, 99, 92, 98, 104, 105,
Reid Spencere4d87aa2006-12-23 06:05:41 +0000773 108, 93, 106, 110, 103, 104, 107, 109, 105, 108,
774 117, 571, 100, 104, 107, 112, 109, 106, 102, 113,
775 106, 110, 105, 108, 111, 104, 106, 116, 112, 107,
776 111, 115, 113, 119, 118, 121, 120, 125, 117, 122,
777 113, 567, 123, 130, 115, 120, 116, 118, 122, 125,
778 123, 123, 121, 119, 127, 115, 124, 122, 121, 120,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000779
Reid Spencere4d87aa2006-12-23 06:05:41 +0000780 123, 128, 122, 123, 130, 124, 128, 127, 123, 127,
781 131, 134, 134, 134, 134, 135, 135, 135, 135, 141,
782 144, 147, 135, 145, 389, 142, 149, 154, 135, 144,
783 141, 131, 150, 149, 147, 151, 389, 131, 137, 137,
784 137, 137, 137, 142, 145, 137, 153, 150, 157, 154,
785 151, 137, 138, 138, 153, 138, 138, 138, 138, 138,
786 155, 156, 158, 157, 160, 159, 156, 161, 163, 155,
787 160, 164, 162, 165, 159, 168, 171, 158, 159, 167,
788 161, 162, 169, 172, 167, 171, 173, 175, 170, 172,
789 163, 174, 165, 162, 164, 177, 175, 170, 176, 178,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000790
Reid Spencere4d87aa2006-12-23 06:05:41 +0000791 169, 179, 168, 169, 170, 173, 174, 176, 178, 180,
792 181, 182, 183, 177, 184, 179, 185, 194, 181, 187,
793 198, 176, 182, 242, 197, 201, 203, 202, 210, 184,
794 204, 242, 180, 183, 187, 565, 205, 194, 210, 204,
795 185, 197, 209, 198, 200, 200, 200, 200, 201, 203,
796 200, 200, 202, 200, 200, 200, 200, 200, 200, 205,
797 211, 212, 215, 209, 216, 218, 219, 221, 223, 211,
798 224, 220, 225, 229, 222, 232, 230, 223, 215, 212,
799 234, 219, 220, 222, 240, 216, 221, 238, 218, 234,
800 237, 222, 232, 224, 230, 239, 229, 225, 241, 237,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000801
Reid Spencere4d87aa2006-12-23 06:05:41 +0000802 238, 243, 240, 241, 244, 245, 243, 247, 248, 245,
803 255, 239, 256, 250, 250, 250, 250, 564, 244, 256,
804 250, 252, 252, 252, 252, 247, 250, 255, 264, 251,
805 251, 248, 251, 251, 251, 251, 253, 253, 253, 253,
806 253, 254, 254, 254, 254, 254, 257, 259, 260, 263,
807 265, 264, 266, 260, 267, 268, 263, 269, 270, 267,
808 271, 272, 273, 257, 259, 274, 272, 266, 268, 275,
809 274, 279, 276, 265, 270, 271, 280, 282, 275, 276,
810 281, 285, 286, 273, 269, 289, 288, 286, 290, 291,
811 302, 292, 294, 293, 279, 288, 285, 295, 299, 280,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000812
Reid Spencere4d87aa2006-12-23 06:05:41 +0000813 300, 282, 281, 303, 281, 292, 289, 291, 293, 290,
814 294, 304, 295, 306, 302, 300, 299, 308, 309, 311,
815 563, 312, 306, 313, 314, 309, 303, 316, 317, 304,
816 308, 312, 313, 320, 314, 317, 316, 319, 322, 328,
817 324, 327, 311, 329, 331, 322, 319, 330, 320, 324,
818 328, 327, 330, 329, 333, 334, 336, 339, 338, 344,
819 346, 331, 341, 341, 341, 341, 343, 344, 338, 351,
820 339, 343, 348, 561, 347, 333, 334, 348, 349, 336,
821 338, 347, 346, 350, 353, 349, 352, 354, 350, 355,
822 351, 356, 352, 357, 358, 360, 363, 365, 355, 364,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000823
Reid Spencere4d87aa2006-12-23 06:05:41 +0000824 367, 358, 360, 353, 366, 368, 354, 369, 356, 363,
825 357, 370, 364, 366, 365, 367, 371, 372, 375, 374,
826 382, 368, 376, 377, 378, 379, 372, 375, 370, 376,
827 369, 380, 377, 378, 379, 371, 374, 383, 382, 385,
828 386, 390, 387, 391, 380, 398, 394, 399, 397, 403,
829 386, 400, 391, 398, 385, 397, 401, 404, 402, 407,
830 383, 387, 400, 402, 390, 394, 406, 409, 410, 401,
831 399, 411, 403, 413, 404, 410, 412, 419, 414, 406,
832 415, 424, 407, 418, 409, 412, 423, 418, 418, 429,
833 559, 437, 426, 423, 427, 413, 414, 424, 415, 411,
Chris Lattnere869eef2005-11-12 00:11:49 +0000834
Reid Spencere4d87aa2006-12-23 06:05:41 +0000835 419, 426, 428, 427, 431, 436, 438, 428, 437, 440,
836 441, 431, 429, 447, 451, 452, 453, 454, 440, 455,
837 441, 457, 459, 438, 453, 447, 436, 462, 463, 451,
838 454, 464, 465, 466, 468, 469, 455, 452, 470, 471,
839 459, 472, 466, 468, 457, 474, 473, 465, 462, 463,
840 475, 477, 469, 470, 471, 473, 478, 464, 479, 480,
841 481, 483, 472, 479, 482, 478, 484, 474, 480, 486,
842 489, 482, 487, 475, 488, 491, 477, 484, 493, 489,
843 494, 492, 500, 481, 483, 501, 498, 508, 502, 494,
844 491, 500, 501, 486, 502, 487, 504, 488, 492, 498,
Chris Lattner75466192006-05-19 21:28:53 +0000845
Reid Spencere4d87aa2006-12-23 06:05:41 +0000846 505, 493, 506, 504, 511, 505, 513, 512, 514, 511,
847 508, 515, 516, 514, 517, 506, 512, 518, 519, 520,
848 521, 517, 524, 522, 520, 526, 525, 515, 522, 513,
849 527, 530, 538, 519, 528, 521, 524, 529, 532, 539,
850 518, 516, 525, 528, 526, 533, 529, 532, 534, 535,
851 537, 540, 539, 527, 530, 538, 542, 544, 545, 537,
852 533, 547, 546, 534, 535, 545, 548, 549, 540, 550,
853 551, 554, 544, 552, 542, 546, 553, 557, 547, 555,
854 552, 560, 566, 553, 562, 549, 558, 548, 560, 556,
855 543, 551, 550, 562, 557, 541, 536, 531, 523, 510,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000856
Reid Spencere4d87aa2006-12-23 06:05:41 +0000857 554, 509, 555, 566, 569, 569, 569, 569, 570, 570,
858 572, 507, 572, 572, 503, 499, 497, 496, 495, 490,
859 485, 476, 467, 461, 460, 458, 456, 450, 449, 448,
860 446, 445, 444, 443, 442, 439, 435, 434, 433, 432,
861 430, 425, 422, 421, 420, 417, 416, 408, 405, 396,
862 395, 393, 392, 388, 384, 381, 373, 362, 361, 359,
863 345, 342, 340, 337, 335, 332, 326, 325, 323, 321,
864 318, 315, 310, 307, 301, 298, 297, 296, 287, 284,
865 283, 278, 277, 262, 261, 258, 246, 236, 235, 233,
866 231, 228, 227, 226, 217, 214, 213, 208, 207, 206,
Reid Spencer3da59db2006-11-27 01:05:10 +0000867
Reid Spencere4d87aa2006-12-23 06:05:41 +0000868 199, 196, 195, 193, 192, 191, 190, 189, 188, 186,
869 152, 148, 146, 143, 140, 136, 132, 114, 89, 69,
870 59, 39, 37, 8, 7, 3, 568, 568, 568, 568,
871 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
872 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
873 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
874 568, 568, 568, 568, 568, 568, 568, 568, 568, 568
Reid Spencer68a24bd2005-08-27 18:50:39 +0000875 } ;
876
Owen Anderson1dc69692006-10-18 02:21:48 +0000877static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
878static char *yy_full_match;
879static int yy_lp;
880#define REJECT \
881{ \
882*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
883yy_cp = yy_full_match; /* restore poss. backed-over text */ \
884++yy_lp; \
885goto find_rule; \
886}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000887#define yymore() yymore_used_but_not_detected
888#define YY_MORE_ADJ 0
889#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000890char *yytext;
Reid Spencere4d87aa2006-12-23 06:05:41 +0000891#line 1 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000892#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000893/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
894//
895// The LLVM Compiler Infrastructure
896//
897// This file was developed by the LLVM research group and is distributed under
898// the University of Illinois Open Source License. See LICENSE.TXT for details.
899//
900//===----------------------------------------------------------------------===//
901//
902// This file implements the flex scanner for LLVM assembly languages files.
903//
904//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000905#define YY_NEVER_INTERACTIVE 1
Reid Spencere4d87aa2006-12-23 06:05:41 +0000906#line 28 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000907#include "ParserInternals.h"
908#include "llvm/Module.h"
909#include <list>
910#include "llvmAsmParser.h"
911#include <cctype>
912#include <cstdlib>
913
914void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000915 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000916}
917void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000918 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000919}
920
Reid Spencer3ed469c2006-11-02 20:25:50 +0000921// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000922#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000923 llvmAsmlval.type = Instruction::Enum; \
924 return sym
925
Reid Spencer3ed469c2006-11-02 20:25:50 +0000926// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000927#define RET_TY(CTYPE, SYM) \
928 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000929 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000930
931namespace llvm {
932
933// TODO: All of the static identifiers are figured out by the lexer,
934// these should be hashed to reduce the lexer size
935
936
937// atoull - Convert an ascii string of decimal digits into the unsigned long
938// long representation... this does not have to do input error checking,
939// because we know that the input will be matched by a suitable regex...
940//
941static uint64_t atoull(const char *Buffer) {
942 uint64_t Result = 0;
943 for (; *Buffer; Buffer++) {
944 uint64_t OldRes = Result;
945 Result *= 10;
946 Result += *Buffer-'0';
947 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000948 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000949 }
950 return Result;
951}
952
953static uint64_t HexIntToVal(const char *Buffer) {
954 uint64_t Result = 0;
955 for (; *Buffer; ++Buffer) {
956 uint64_t OldRes = Result;
957 Result *= 16;
958 char C = *Buffer;
959 if (C >= '0' && C <= '9')
960 Result += C-'0';
961 else if (C >= 'A' && C <= 'F')
962 Result += C-'A'+10;
963 else if (C >= 'a' && C <= 'f')
964 Result += C-'a'+10;
965
966 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000967 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000968 }
969 return Result;
970}
971
972
973// HexToFP - Convert the ascii string in hexidecimal format to the floating
974// point representation of it.
975//
976static double HexToFP(const char *Buffer) {
977 // Behave nicely in the face of C TBAA rules... see:
978 // http://www.nullstone.com/htmls/category/aliastyp.htm
979 union {
980 uint64_t UI;
981 double FP;
982 } UIntToFP;
983 UIntToFP.UI = HexIntToVal(Buffer);
984
985 assert(sizeof(double) == sizeof(uint64_t) &&
986 "Data sizes incompatible on this target!");
987 return UIntToFP.FP; // Cast Hex constant to double
988}
989
990
991// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
992// appropriate character. If AllowNull is set to false, a \00 value will cause
993// an exception to be thrown.
994//
995// If AllowNull is set to true, the return value of the function points to the
996// last character of the string in memory.
997//
998char *UnEscapeLexed(char *Buffer, bool AllowNull) {
999 char *BOut = Buffer;
1000 for (char *BIn = Buffer; *BIn; ) {
1001 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1002 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1003 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1004 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +00001005 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001006
1007 BIn[3] = Tmp; // Restore character
1008 BIn += 3; // Skip over handled chars
1009 ++BOut;
1010 } else {
1011 *BOut++ = *BIn++;
1012 }
1013 }
1014
1015 return BOut;
1016}
1017
1018} // End llvm namespace
1019
1020using namespace llvm;
1021
1022#define YY_NEVER_INTERACTIVE 1
1023/* Comments start with a ; and go till end of line */
1024/* Variable(Value) identifiers start with a % sign */
1025/* Label identifiers end with a colon */
1026/* Quoted names can contain any character except " and \ */
1027/* [PN]Integer: match positive and negative literal integer values that
1028 * are preceeded by a '%' character. These represent unnamed variable slots.
1029 */
1030/* E[PN]Integer: match positive and negative literal integer values */
1031/* FPConstant - A Floating point constant.
1032 */
1033/* HexFPConstant - Floating point constant represented in IEEE format as a
1034 * hexadecimal number for when exponential notation is not precise enough.
1035 */
1036/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1037 * it to deal with 64 bit numbers.
1038 */
Reid Spencere4d87aa2006-12-23 06:05:41 +00001039#line 1040 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001040
1041/* Macros after this point can all be overridden by user definitions in
1042 * section 1.
1043 */
1044
1045#ifndef YY_SKIP_YYWRAP
1046#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001047extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001048#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001049extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001050#endif
1051#endif
1052
Owen Anderson1dc69692006-10-18 02:21:48 +00001053#ifndef YY_NO_UNPUT
1054static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1055#endif
1056
Reid Spencer68a24bd2005-08-27 18:50:39 +00001057#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00001058static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001059#endif
1060
1061#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001062static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001063#endif
1064
1065#ifndef YY_NO_INPUT
1066#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001067static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001068#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001069static int input YY_PROTO(( void ));
1070#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001071#endif
1072
Owen Anderson1dc69692006-10-18 02:21:48 +00001073#if YY_STACK_USED
1074static int yy_start_stack_ptr = 0;
1075static int yy_start_stack_depth = 0;
1076static int *yy_start_stack = 0;
1077#ifndef YY_NO_PUSH_STATE
1078static void yy_push_state YY_PROTO(( int new_state ));
1079#endif
1080#ifndef YY_NO_POP_STATE
1081static void yy_pop_state YY_PROTO(( void ));
1082#endif
1083#ifndef YY_NO_TOP_STATE
1084static int yy_top_state YY_PROTO(( void ));
1085#endif
1086
1087#else
1088#define YY_NO_PUSH_STATE 1
1089#define YY_NO_POP_STATE 1
1090#define YY_NO_TOP_STATE 1
1091#endif
1092
1093#ifdef YY_MALLOC_DECL
1094YY_MALLOC_DECL
1095#else
1096#if __STDC__
1097#ifndef __cplusplus
1098#include <stdlib.h>
1099#endif
1100#else
1101/* Just try to get by without declaring the routines. This will fail
1102 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1103 * or sizeof(void*) != sizeof(int).
1104 */
1105#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001106#endif
1107
1108/* Amount of stuff to slurp up with each read. */
1109#ifndef YY_READ_BUF_SIZE
1110#define YY_READ_BUF_SIZE 8192
1111#endif
1112
1113/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001114
Reid Spencer68a24bd2005-08-27 18:50:39 +00001115#ifndef ECHO
1116/* This used to be an fputs(), but since the string might contain NUL's,
1117 * we now use fwrite().
1118 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001119#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001120#endif
1121
1122/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1123 * is returned in "result".
1124 */
1125#ifndef YY_INPUT
1126#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001127 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001128 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001129 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001130 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001131 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001132 buf[n] = (char) c; \
1133 if ( c == '\n' ) \
1134 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001135 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001136 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1137 result = n; \
1138 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001139 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1140 && ferror( yyin ) ) \
1141 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001142#endif
1143
1144/* No semi-colon after return; correct usage is to write "yyterminate();" -
1145 * we don't want an extra ';' after the "return" because that will cause
1146 * some compilers to complain about unreachable statements.
1147 */
1148#ifndef yyterminate
1149#define yyterminate() return YY_NULL
1150#endif
1151
1152/* Number of entries by which start-condition stack grows. */
1153#ifndef YY_START_STACK_INCR
1154#define YY_START_STACK_INCR 25
1155#endif
1156
1157/* Report a fatal error. */
1158#ifndef YY_FATAL_ERROR
1159#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1160#endif
1161
1162/* Default declaration of generated scanner - a define so the user can
1163 * easily add parameters.
1164 */
1165#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001166#define YY_DECL int yylex YY_PROTO(( void ))
1167#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001168
Owen Anderson1dc69692006-10-18 02:21:48 +00001169/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001170 * have been set up.
1171 */
1172#ifndef YY_USER_ACTION
1173#define YY_USER_ACTION
1174#endif
1175
1176/* Code executed at the end of each rule. */
1177#ifndef YY_BREAK
1178#define YY_BREAK break;
1179#endif
1180
1181#define YY_RULE_SETUP \
1182 YY_USER_ACTION
1183
1184YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001185 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001186 register yy_state_type yy_current_state;
Reid Spencer3da59db2006-11-27 01:05:10 +00001187 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001188 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001189
Reid Spencere4d87aa2006-12-23 06:05:41 +00001190#line 186 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001191
1192
Reid Spencere4d87aa2006-12-23 06:05:41 +00001193#line 1194 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001194
Owen Anderson1dc69692006-10-18 02:21:48 +00001195 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001196 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001197 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001198
1199#ifdef YY_USER_INIT
1200 YY_USER_INIT;
1201#endif
1202
Owen Anderson1dc69692006-10-18 02:21:48 +00001203 if ( ! yy_start )
1204 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001205
Owen Anderson1dc69692006-10-18 02:21:48 +00001206 if ( ! yyin )
1207 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001208
Owen Anderson1dc69692006-10-18 02:21:48 +00001209 if ( ! yyout )
1210 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001211
Owen Anderson1dc69692006-10-18 02:21:48 +00001212 if ( ! yy_current_buffer )
1213 yy_current_buffer =
1214 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001215
Owen Anderson1dc69692006-10-18 02:21:48 +00001216 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001217 }
1218
1219 while ( 1 ) /* loops until end-of-file is reached */
1220 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001221 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001222
Owen Anderson1dc69692006-10-18 02:21:48 +00001223 /* Support of yytext. */
1224 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001225
1226 /* yy_bp points to the position in yy_ch_buf of the start of
1227 * the current run.
1228 */
1229 yy_bp = yy_cp;
1230
Owen Anderson1dc69692006-10-18 02:21:48 +00001231 yy_current_state = yy_start;
1232 yy_state_ptr = yy_state_buf;
1233 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001234yy_match:
1235 do
1236 {
1237 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1238 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1239 {
1240 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencere4d87aa2006-12-23 06:05:41 +00001241 if ( yy_current_state >= 569 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001242 yy_c = yy_meta[(unsigned int) yy_c];
1243 }
1244 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001245 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001246 ++yy_cp;
1247 }
Reid Spencere4d87aa2006-12-23 06:05:41 +00001248 while ( yy_current_state != 568 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001249
1250yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001251 yy_current_state = *--yy_state_ptr;
1252 yy_lp = yy_accept[yy_current_state];
1253find_rule: /* we branch to this label when backing up */
1254 for ( ; ; ) /* until we find what rule we matched */
1255 {
1256 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1257 {
1258 yy_act = yy_acclist[yy_lp];
1259 {
1260 yy_full_match = yy_cp;
1261 break;
1262 }
1263 }
1264 --yy_cp;
1265 yy_current_state = *--yy_state_ptr;
1266 yy_lp = yy_accept[yy_current_state];
1267 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001268
1269 YY_DO_BEFORE_ACTION;
1270
Owen Anderson1dc69692006-10-18 02:21:48 +00001271 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001272 {
1273 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001274 for ( yyl = 0; yyl < yyleng; ++yyl )
1275 if ( yytext[yyl] == '\n' )
1276 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001277 }
1278
1279do_action: /* This label is used only to access EOF actions. */
1280
Owen Anderson1dc69692006-10-18 02:21:48 +00001281
Reid Spencer68a24bd2005-08-27 18:50:39 +00001282 switch ( yy_act )
1283 { /* beginning of action switch */
1284case 1:
1285YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001286#line 188 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001287{ /* Ignore comments for now */ }
1288 YY_BREAK
1289case 2:
1290YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001291#line 190 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001292{ return BEGINTOK; }
1293 YY_BREAK
1294case 3:
1295YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001296#line 191 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001297{ return ENDTOK; }
1298 YY_BREAK
1299case 4:
1300YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001301#line 192 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001302{ return TRUETOK; }
1303 YY_BREAK
1304case 5:
1305YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001306#line 193 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001307{ return FALSETOK; }
1308 YY_BREAK
1309case 6:
1310YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001311#line 194 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001312{ return DECLARE; }
1313 YY_BREAK
1314case 7:
1315YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001316#line 195 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001317{ return GLOBAL; }
1318 YY_BREAK
1319case 8:
1320YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001321#line 196 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001322{ return CONSTANT; }
1323 YY_BREAK
1324case 9:
1325YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001326#line 197 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001327{ return INTERNAL; }
1328 YY_BREAK
1329case 10:
1330YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001331#line 198 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001332{ return LINKONCE; }
1333 YY_BREAK
1334case 11:
1335YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001336#line 199 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001337{ return WEAK; }
1338 YY_BREAK
1339case 12:
1340YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001341#line 200 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001342{ return APPENDING; }
1343 YY_BREAK
1344case 13:
1345YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001346#line 201 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001347{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001348 YY_BREAK
1349case 14:
1350YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001351#line 202 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001352{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001353 YY_BREAK
1354case 15:
1355YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001356#line 203 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001357{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001358 YY_BREAK
1359case 16:
1360YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001361#line 204 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001362{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001363 YY_BREAK
1364case 17:
1365YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001366#line 205 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001367{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001368 YY_BREAK
1369case 18:
1370YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001371#line 206 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001372{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001373 YY_BREAK
1374case 19:
1375YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001376#line 207 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001377{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001378 YY_BREAK
1379case 20:
1380YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001381#line 208 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001382{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001383 YY_BREAK
1384case 21:
1385YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001386#line 209 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001387{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001388 YY_BREAK
1389case 22:
1390YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001391#line 210 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001392{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001393 YY_BREAK
1394case 23:
1395YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001396#line 211 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001397{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001398 YY_BREAK
1399case 24:
1400YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001401#line 212 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001402{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001403 YY_BREAK
1404case 25:
1405YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001406#line 213 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001407{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001408 YY_BREAK
1409case 26:
1410YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001411#line 214 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001412{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001413 YY_BREAK
1414case 27:
1415YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001416#line 215 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001417{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001418 YY_BREAK
1419case 28:
1420YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001421#line 216 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001422{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001423 YY_BREAK
1424case 29:
1425YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001426#line 217 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001427{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001428 YY_BREAK
1429case 30:
1430YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001431#line 218 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001432{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001433 YY_BREAK
1434case 31:
1435YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001436#line 219 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001437{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001438 YY_BREAK
1439case 32:
1440YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001441#line 220 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001442{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001443 YY_BREAK
1444case 33:
1445YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001446#line 221 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001447{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001448 YY_BREAK
1449case 34:
1450YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001451#line 222 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001452{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001453 YY_BREAK
1454case 35:
1455YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001456#line 223 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001457{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001458 YY_BREAK
1459case 36:
1460YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001461#line 224 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001462{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001463 YY_BREAK
1464case 37:
1465YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001466#line 225 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001467{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001468 YY_BREAK
1469case 38:
1470YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001471#line 227 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001472{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001473 YY_BREAK
1474case 39:
1475YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001476#line 228 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001477{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001478 YY_BREAK
1479case 40:
1480YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001481#line 229 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001482{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001483 YY_BREAK
1484case 41:
1485YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001486#line 230 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001487{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001488 YY_BREAK
1489case 42:
1490YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001491#line 231 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001492{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001493 YY_BREAK
1494case 43:
1495YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001496#line 232 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001497{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001498 YY_BREAK
1499case 44:
1500YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001501#line 233 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001502{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001503 YY_BREAK
1504case 45:
1505YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001506#line 235 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001507{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001508 YY_BREAK
1509case 46:
1510YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001511#line 236 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001512{ RET_TY(Type::BoolTy, BOOL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001513 YY_BREAK
1514case 47:
1515YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001516#line 237 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001517{ RET_TY(Type::SByteTy, SBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001518 YY_BREAK
1519case 48:
1520YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001521#line 238 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001522{ RET_TY(Type::UByteTy, UBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001523 YY_BREAK
1524case 49:
1525YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001526#line 239 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001527{ RET_TY(Type::ShortTy, SHORT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001528 YY_BREAK
1529case 50:
1530YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001531#line 240 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001532{ RET_TY(Type::UShortTy,USHORT);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001533 YY_BREAK
1534case 51:
1535YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001536#line 241 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001537{ RET_TY(Type::IntTy, INT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001538 YY_BREAK
1539case 52:
1540YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001541#line 242 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001542{ RET_TY(Type::UIntTy, UINT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001543 YY_BREAK
1544case 53:
1545YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001546#line 243 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001547{ RET_TY(Type::LongTy, LONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001548 YY_BREAK
1549case 54:
1550YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001551#line 244 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001552{ RET_TY(Type::ULongTy, ULONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001553 YY_BREAK
1554case 55:
1555YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001556#line 245 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001557{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001558 YY_BREAK
1559case 56:
1560YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001561#line 246 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001562{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001563 YY_BREAK
1564case 57:
1565YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001566#line 247 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001567{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001568 YY_BREAK
1569case 58:
1570YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001571#line 248 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001572{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001573 YY_BREAK
1574case 59:
1575YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001576#line 249 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001577{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001578 YY_BREAK
1579case 60:
1580YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001581#line 251 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001582{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001583 YY_BREAK
1584case 61:
1585YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001586#line 252 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001587{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001588 YY_BREAK
1589case 62:
1590YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001591#line 253 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001592{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001593 YY_BREAK
1594case 63:
1595YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001596#line 254 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001597{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001598 YY_BREAK
1599case 64:
1600YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001601#line 255 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001602{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001603 YY_BREAK
1604case 65:
1605YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001606#line 256 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001607{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001608 YY_BREAK
1609case 66:
1610YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001611#line 257 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001612{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001613 YY_BREAK
1614case 67:
1615YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001616#line 258 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001617{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001618 YY_BREAK
1619case 68:
1620YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001621#line 259 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001622{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001623 YY_BREAK
1624case 69:
1625YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001626#line 260 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001627{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001628 YY_BREAK
1629case 70:
1630YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001631#line 261 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001632{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001633 YY_BREAK
1634case 71:
1635YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001636#line 262 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencera132e042006-12-03 05:46:11 +00001637{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001638 YY_BREAK
1639case 72:
1640YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001641#line 263 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1642{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001643 YY_BREAK
1644case 73:
1645YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001646#line 264 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1647{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001648 YY_BREAK
1649case 74:
1650YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001651#line 265 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1652{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001653 YY_BREAK
1654case 75:
1655YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001656#line 266 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1657{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001658 YY_BREAK
1659case 76:
1660YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001661#line 267 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1662{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001663 YY_BREAK
1664case 77:
1665YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001666#line 268 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1667{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001668 YY_BREAK
1669case 78:
1670YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001671#line 269 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1672{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001673 YY_BREAK
1674case 79:
1675YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001676#line 270 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1677{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001678 YY_BREAK
1679case 80:
1680YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001681#line 271 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1682{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001683 YY_BREAK
1684case 81:
1685YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001686#line 272 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1687{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001688 YY_BREAK
1689case 82:
1690YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001691#line 273 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1692{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001693 YY_BREAK
1694case 83:
1695YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001696#line 274 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1697{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001698 YY_BREAK
1699case 84:
1700YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001701#line 275 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1702{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001703 YY_BREAK
1704case 85:
1705YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001706#line 276 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1707{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001708 YY_BREAK
1709case 86:
1710YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001711#line 277 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1712{ return OLT; }
Nate Begeman14b05292005-11-05 09:21:28 +00001713 YY_BREAK
1714case 87:
1715YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001716#line 278 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1717{ return OGT; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001718 YY_BREAK
1719case 88:
1720YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001721#line 279 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1722{ return OLE; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001723 YY_BREAK
1724case 89:
1725YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001726#line 280 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1727{ return OGE; }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001728 YY_BREAK
1729case 90:
1730YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001731#line 281 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1732{ return ORD; }
Chris Lattner8335e842006-01-23 23:05:42 +00001733 YY_BREAK
1734case 91:
1735YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001736#line 282 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1737{ return UNO; }
Chris Lattner66316012006-01-24 04:14:29 +00001738 YY_BREAK
1739case 92:
1740YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001741#line 283 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1742{ return UEQ; }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001743 YY_BREAK
1744case 93:
1745YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001746#line 284 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1747{ return UNE; }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001748 YY_BREAK
1749case 94:
1750YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001751#line 286 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1752{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Chris Lattner75466192006-05-19 21:28:53 +00001753 YY_BREAK
1754case 95:
1755YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001756#line 287 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1757{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001758 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001759case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001760YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001761#line 288 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1762{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001763 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001764case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001765YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001766#line 289 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1767{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001768 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001769case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001770YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001771#line 290 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1772{ RET_TOK(CastOpVal, SExt, SEXT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001773 YY_BREAK
1774case 99:
1775YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001776#line 291 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1777{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001778 YY_BREAK
1779case 100:
1780YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001781#line 292 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1782{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001783 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001784case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001785YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001786#line 293 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1787{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001788 YY_BREAK
1789case 102:
1790YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001791#line 294 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1792{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001793 YY_BREAK
1794case 103:
1795YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001796#line 295 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1797{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001798 YY_BREAK
1799case 104:
1800YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001801#line 296 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1802{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001803 YY_BREAK
1804case 105:
1805YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001806#line 297 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1807{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001808 YY_BREAK
1809case 106:
1810YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001811#line 298 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1812{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001813 YY_BREAK
1814case 107:
1815YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001816#line 299 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1817{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001818 YY_BREAK
1819case 108:
1820YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001821#line 300 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1822{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001823 YY_BREAK
1824case 109:
1825YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001826#line 301 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1827{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001828 YY_BREAK
1829case 110:
1830YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001831#line 302 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1832{ RET_TOK(OtherOpVal, LShr, LSHR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001833 YY_BREAK
1834case 111:
1835YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001836#line 303 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1837{ RET_TOK(OtherOpVal, AShr, ASHR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001838 YY_BREAK
1839case 112:
1840YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001841#line 304 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1842{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001843 YY_BREAK
1844case 113:
1845YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001846#line 305 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1847{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001848 YY_BREAK
1849case 114:
1850YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001851#line 306 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1852{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001853 YY_BREAK
1854case 115:
1855YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001856#line 307 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1857{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001858 YY_BREAK
1859case 116:
1860YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001861#line 308 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1862{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001863 YY_BREAK
1864case 117:
1865YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001866#line 309 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1867{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001868 YY_BREAK
1869case 118:
1870YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001871#line 310 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1872{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001873 YY_BREAK
1874case 119:
1875YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001876#line 312 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1877{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001878 YY_BREAK
1879case 120:
1880YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001881#line 313 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1882{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001883 YY_BREAK
1884case 121:
1885YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001886#line 314 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1887{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencera132e042006-12-03 05:46:11 +00001888 YY_BREAK
1889case 122:
1890YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001891#line 315 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1892{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencera132e042006-12-03 05:46:11 +00001893 YY_BREAK
1894case 123:
1895YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001896#line 316 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1897{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencera132e042006-12-03 05:46:11 +00001898 YY_BREAK
1899case 124:
1900YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001901#line 317 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1902{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencera132e042006-12-03 05:46:11 +00001903 YY_BREAK
1904case 125:
1905YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001906#line 319 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1907{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Reid Spencera132e042006-12-03 05:46:11 +00001908 YY_BREAK
1909case 126:
1910YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001911#line 320 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1912{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Reid Spencera132e042006-12-03 05:46:11 +00001913 YY_BREAK
1914case 127:
1915YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001916#line 321 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1917{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Reid Spencera132e042006-12-03 05:46:11 +00001918 YY_BREAK
1919case 128:
1920YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001921#line 324 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001922{
Owen Anderson1dc69692006-10-18 02:21:48 +00001923 UnEscapeLexed(yytext+1);
1924 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1925 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001926 }
1927 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001928case 129:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001929YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001930#line 329 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001931{
Owen Anderson1dc69692006-10-18 02:21:48 +00001932 yytext[strlen(yytext)-1] = 0; // nuke colon
1933 UnEscapeLexed(yytext);
1934 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001935 return LABELSTR;
1936 }
1937 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001938case 130:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001939YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001940#line 335 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001941{
1942 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1943 UnEscapeLexed(yytext+1);
1944 llvmAsmlval.StrVal = strdup(yytext+1);
1945 return LABELSTR;
1946 }
1947 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001948case 131:
Owen Anderson1dc69692006-10-18 02:21:48 +00001949YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001950#line 342 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001951{ // Note that we cannot unescape a string constant here! The
1952 // string constant might contain a \00 which would not be
1953 // understood by the string stuff. It is valid to make a
1954 // [sbyte] c"Hello World\00" constant, for example.
1955 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001956 yytext[strlen(yytext)-1] = 0; // nuke end quote
1957 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001958 return STRINGCONSTANT;
1959 }
1960 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001961case 132:
Chris Lattner75466192006-05-19 21:28:53 +00001962YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001963#line 353 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001964{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1965 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001966case 133:
Owen Anderson1dc69692006-10-18 02:21:48 +00001967YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001968#line 354 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001969{
Owen Anderson1dc69692006-10-18 02:21:48 +00001970 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001971 // +1: we have bigger negative range
1972 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001973 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001974 llvmAsmlval.SInt64Val = -Val;
1975 return ESINT64VAL;
1976 }
1977 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001978case 134:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001979YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001980#line 362 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001981{
Owen Anderson1dc69692006-10-18 02:21:48 +00001982 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1983 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1984 }
1985 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001986case 135:
Owen Anderson1dc69692006-10-18 02:21:48 +00001987YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001988#line 367 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001989{
1990 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001991 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001992 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001993 llvmAsmlval.UIntVal = unsigned(Val);
1994 return UINTVAL;
1995 }
1996 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00001997case 136:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001998YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00001999#line 374 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002000{
Owen Anderson1dc69692006-10-18 02:21:48 +00002001 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002002 // +1: we have bigger negative range
2003 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00002004 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002005 llvmAsmlval.SIntVal = (int)-Val;
2006 return SINTVAL;
2007 }
2008 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002009case 137:
Chris Lattner75466192006-05-19 21:28:53 +00002010YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00002011#line 383 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002012{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2013 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002014case 138:
Owen Anderson1dc69692006-10-18 02:21:48 +00002015YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00002016#line 384 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002017{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002018 YY_BREAK
2019case YY_STATE_EOF(INITIAL):
Reid Spencere4d87aa2006-12-23 06:05:41 +00002020#line 386 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002021{
2022 /* Make sure to free the internal buffers for flex when we are
2023 * done reading our input!
2024 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002025 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002026 return EOF;
2027 }
2028 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002029case 139:
Chris Lattner75466192006-05-19 21:28:53 +00002030YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00002031#line 394 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002032{ /* Ignore whitespace */ }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002033 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002034case 140:
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002035YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00002036#line 395 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002037{ return yytext[0]; }
2038 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002039case 141:
Owen Anderson1dc69692006-10-18 02:21:48 +00002040YY_RULE_SETUP
Reid Spencere4d87aa2006-12-23 06:05:41 +00002041#line 397 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002042YY_FATAL_ERROR( "flex scanner jammed" );
2043 YY_BREAK
Reid Spencere4d87aa2006-12-23 06:05:41 +00002044#line 2045 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002045
2046 case YY_END_OF_BUFFER:
2047 {
2048 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002049 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002050
2051 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002052 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002053 YY_RESTORE_YY_MORE_OFFSET
2054
Owen Anderson1dc69692006-10-18 02:21:48 +00002055 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002056 {
2057 /* We're scanning a new file or input source. It's
2058 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00002059 * just pointed yyin at a new source and called
2060 * yylex(). If so, then we have to assure
2061 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002062 * globals. Here is the right place to do so, because
2063 * this is the first action (other than possibly a
2064 * back-up) that will match for the new input source.
2065 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002066 yy_n_chars = yy_current_buffer->yy_n_chars;
2067 yy_current_buffer->yy_input_file = yyin;
2068 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002069 }
2070
2071 /* Note that here we test for yy_c_buf_p "<=" to the position
2072 * of the first EOB in the buffer, since yy_c_buf_p will
2073 * already have been incremented past the NUL character
2074 * (since all states make transitions on EOB to the
2075 * end-of-buffer state). Contrast this with the test
2076 * in input().
2077 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002078 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002079 { /* This was really a NUL. */
2080 yy_state_type yy_next_state;
2081
Owen Anderson1dc69692006-10-18 02:21:48 +00002082 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002083
Owen Anderson1dc69692006-10-18 02:21:48 +00002084 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002085
2086 /* Okay, we're now positioned to make the NUL
2087 * transition. We couldn't have
2088 * yy_get_previous_state() go ahead and do it
2089 * for us because it doesn't know how to deal
2090 * with the possibility of jamming (and we don't
2091 * want to build jamming into it because then it
2092 * will run more slowly).
2093 */
2094
2095 yy_next_state = yy_try_NUL_trans( yy_current_state );
2096
Owen Anderson1dc69692006-10-18 02:21:48 +00002097 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002098
2099 if ( yy_next_state )
2100 {
2101 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002102 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002103 yy_current_state = yy_next_state;
2104 goto yy_match;
2105 }
2106
2107 else
2108 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002109 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002110 goto yy_find_action;
2111 }
2112 }
2113
Owen Anderson1dc69692006-10-18 02:21:48 +00002114 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002115 {
2116 case EOB_ACT_END_OF_FILE:
2117 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002118 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002119
Owen Anderson1dc69692006-10-18 02:21:48 +00002120 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002121 {
2122 /* Note: because we've taken care in
2123 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00002124 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002125 * yy_c_buf_p so that if some total
2126 * hoser (like flex itself) wants to
2127 * call the scanner after we return the
2128 * YY_NULL, it'll still work - another
2129 * YY_NULL will get returned.
2130 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002131 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002132
2133 yy_act = YY_STATE_EOF(YY_START);
2134 goto do_action;
2135 }
2136
2137 else
2138 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002139 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002140 YY_NEW_FILE;
2141 }
2142 break;
2143 }
2144
2145 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002146 yy_c_buf_p =
2147 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002148
Owen Anderson1dc69692006-10-18 02:21:48 +00002149 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002150
Owen Anderson1dc69692006-10-18 02:21:48 +00002151 yy_cp = yy_c_buf_p;
2152 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002153 goto yy_match;
2154
2155 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00002156 yy_c_buf_p =
2157 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002158
Owen Anderson1dc69692006-10-18 02:21:48 +00002159 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002160
Owen Anderson1dc69692006-10-18 02:21:48 +00002161 yy_cp = yy_c_buf_p;
2162 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002163 goto yy_find_action;
2164 }
2165 break;
2166 }
2167
2168 default:
2169 YY_FATAL_ERROR(
2170 "fatal flex scanner internal error--no action found" );
2171 } /* end of action switch */
2172 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00002173 } /* end of yylex */
2174
Reid Spencer68a24bd2005-08-27 18:50:39 +00002175
2176/* yy_get_next_buffer - try to read in a new buffer
2177 *
2178 * Returns a code representing an action:
2179 * EOB_ACT_LAST_MATCH -
2180 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2181 * EOB_ACT_END_OF_FILE - end of file
2182 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002183
2184static int yy_get_next_buffer()
2185 {
2186 register char *dest = yy_current_buffer->yy_ch_buf;
2187 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002188 register int number_to_move, i;
2189 int ret_val;
2190
Owen Anderson1dc69692006-10-18 02:21:48 +00002191 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002192 YY_FATAL_ERROR(
2193 "fatal flex scanner internal error--end of buffer missed" );
2194
Owen Anderson1dc69692006-10-18 02:21:48 +00002195 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002196 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002197 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002198 {
2199 /* We matched a single character, the EOB, so
2200 * treat this as a final EOF.
2201 */
2202 return EOB_ACT_END_OF_FILE;
2203 }
2204
2205 else
2206 {
2207 /* We matched some text prior to the EOB, first
2208 * process it.
2209 */
2210 return EOB_ACT_LAST_MATCH;
2211 }
2212 }
2213
2214 /* Try to read more data. */
2215
2216 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002217 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002218
2219 for ( i = 0; i < number_to_move; ++i )
2220 *(dest++) = *(source++);
2221
Owen Anderson1dc69692006-10-18 02:21:48 +00002222 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223 /* don't do the read, it's not guaranteed to return an EOF,
2224 * just force an EOF
2225 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002226 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002227
2228 else
2229 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002230 int num_to_read =
2231 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002232
2233 while ( num_to_read <= 0 )
2234 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002235#ifdef YY_USES_REJECT
2236 YY_FATAL_ERROR(
2237"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2238#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002239
2240 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002241 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002242
2243 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002244 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002245
2246 if ( b->yy_is_our_buffer )
2247 {
2248 int new_size = b->yy_buf_size * 2;
2249
2250 if ( new_size <= 0 )
2251 b->yy_buf_size += b->yy_buf_size / 8;
2252 else
2253 b->yy_buf_size *= 2;
2254
2255 b->yy_ch_buf = (char *)
2256 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002257 yy_flex_realloc( (void *) b->yy_ch_buf,
2258 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002259 }
2260 else
2261 /* Can't grow it, we don't own it. */
2262 b->yy_ch_buf = 0;
2263
2264 if ( ! b->yy_ch_buf )
2265 YY_FATAL_ERROR(
2266 "fatal error - scanner input buffer overflow" );
2267
Owen Anderson1dc69692006-10-18 02:21:48 +00002268 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002269
Owen Anderson1dc69692006-10-18 02:21:48 +00002270 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002271 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002272#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002273 }
2274
2275 if ( num_to_read > YY_READ_BUF_SIZE )
2276 num_to_read = YY_READ_BUF_SIZE;
2277
2278 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002279 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2280 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002281
Owen Anderson1dc69692006-10-18 02:21:48 +00002282 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002283 }
2284
Owen Anderson1dc69692006-10-18 02:21:48 +00002285 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002286 {
2287 if ( number_to_move == YY_MORE_ADJ )
2288 {
2289 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002290 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291 }
2292
2293 else
2294 {
2295 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002296 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002297 YY_BUFFER_EOF_PENDING;
2298 }
2299 }
2300
2301 else
2302 ret_val = EOB_ACT_CONTINUE_SCAN;
2303
Owen Anderson1dc69692006-10-18 02:21:48 +00002304 yy_n_chars += number_to_move;
2305 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2306 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002307
Owen Anderson1dc69692006-10-18 02:21:48 +00002308 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002309
2310 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002311 }
2312
Reid Spencer68a24bd2005-08-27 18:50:39 +00002313
2314/* yy_get_previous_state - get the state just before the EOB char was reached */
2315
Owen Anderson1dc69692006-10-18 02:21:48 +00002316static yy_state_type yy_get_previous_state()
2317 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002318 register yy_state_type yy_current_state;
2319 register char *yy_cp;
2320
Owen Anderson1dc69692006-10-18 02:21:48 +00002321 yy_current_state = yy_start;
2322 yy_state_ptr = yy_state_buf;
2323 *yy_state_ptr++ = yy_current_state;
2324
2325 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002326 {
2327 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2328 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2329 {
2330 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencere4d87aa2006-12-23 06:05:41 +00002331 if ( yy_current_state >= 569 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002332 yy_c = yy_meta[(unsigned int) yy_c];
2333 }
2334 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002335 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002336 }
2337
2338 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002339 }
2340
Reid Spencer68a24bd2005-08-27 18:50:39 +00002341
2342/* yy_try_NUL_trans - try to make a transition on the NUL character
2343 *
2344 * synopsis
2345 * next_state = yy_try_NUL_trans( current_state );
2346 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002347
2348#ifdef YY_USE_PROTOS
2349static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2350#else
2351static yy_state_type yy_try_NUL_trans( yy_current_state )
2352yy_state_type yy_current_state;
2353#endif
2354 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002355 register int yy_is_jam;
2356
2357 register YY_CHAR yy_c = 1;
2358 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2359 {
2360 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencere4d87aa2006-12-23 06:05:41 +00002361 if ( yy_current_state >= 569 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002362 yy_c = yy_meta[(unsigned int) yy_c];
2363 }
2364 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencere4d87aa2006-12-23 06:05:41 +00002365 yy_is_jam = (yy_current_state == 568);
Owen Anderson1dc69692006-10-18 02:21:48 +00002366 if ( ! yy_is_jam )
2367 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002368
2369 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002370 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002371
2372
Owen Anderson1dc69692006-10-18 02:21:48 +00002373#ifndef YY_NO_UNPUT
2374#ifdef YY_USE_PROTOS
2375static inline void yyunput( int c, register char *yy_bp )
2376#else
2377static inline void yyunput( c, yy_bp )
2378int c;
2379register char *yy_bp;
2380#endif
2381 {
2382 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002383
Owen Anderson1dc69692006-10-18 02:21:48 +00002384 /* undo effects of setting up yytext */
2385 *yy_cp = yy_hold_char;
2386
2387 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002388 { /* need to shift things up to make room */
2389 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002390 register int number_to_move = yy_n_chars + 2;
2391 register char *dest = &yy_current_buffer->yy_ch_buf[
2392 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002393 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002394 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002395
Owen Anderson1dc69692006-10-18 02:21:48 +00002396 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002397 *--dest = *--source;
2398
2399 yy_cp += (int) (dest - source);
2400 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002401 yy_current_buffer->yy_n_chars =
2402 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403
Owen Anderson1dc69692006-10-18 02:21:48 +00002404 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2406 }
2407
2408 *--yy_cp = (char) c;
2409
Owen Anderson1dc69692006-10-18 02:21:48 +00002410 if ( c == '\n' )
2411 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002412
Owen Anderson1dc69692006-10-18 02:21:48 +00002413 yytext_ptr = yy_bp;
2414 yy_hold_char = *yy_cp;
2415 yy_c_buf_p = yy_cp;
2416 }
2417#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002418
Owen Anderson1dc69692006-10-18 02:21:48 +00002419
Reid Spencer3da59db2006-11-27 01:05:10 +00002420#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002421#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002422static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002423#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002424static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002425#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002426 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002427 int c;
2428
Owen Anderson1dc69692006-10-18 02:21:48 +00002429 *yy_c_buf_p = yy_hold_char;
2430
2431 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002432 {
2433 /* yy_c_buf_p now points to the character we want to return.
2434 * If this occurs *before* the EOB characters, then it's a
2435 * valid NUL; if not, then we've hit the end of the buffer.
2436 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002437 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002438 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002439 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002440
2441 else
2442 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002443 int offset = yy_c_buf_p - yytext_ptr;
2444 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002445
Owen Anderson1dc69692006-10-18 02:21:48 +00002446 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002447 {
2448 case EOB_ACT_LAST_MATCH:
2449 /* This happens because yy_g_n_b()
2450 * sees that we've accumulated a
2451 * token and flags that we need to
2452 * try matching the token before
2453 * proceeding. But for input(),
2454 * there's no matching to consider.
2455 * So convert the EOB_ACT_LAST_MATCH
2456 * to EOB_ACT_END_OF_FILE.
2457 */
2458
2459 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002460 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002461
Owen Anderson1dc69692006-10-18 02:21:48 +00002462 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002463
2464 case EOB_ACT_END_OF_FILE:
2465 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002466 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002467 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002468
Owen Anderson1dc69692006-10-18 02:21:48 +00002469 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002470 YY_NEW_FILE;
2471#ifdef __cplusplus
2472 return yyinput();
2473#else
2474 return input();
2475#endif
2476 }
2477
2478 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002479 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002480 break;
2481 }
2482 }
2483 }
2484
Owen Anderson1dc69692006-10-18 02:21:48 +00002485 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2486 *yy_c_buf_p = '\0'; /* preserve yytext */
2487 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002488
2489 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002490 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002491
2492 return c;
2493 }
Reid Spencer3da59db2006-11-27 01:05:10 +00002494#endif /* YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002495
Owen Anderson1dc69692006-10-18 02:21:48 +00002496#ifdef YY_USE_PROTOS
2497void yyrestart( FILE *input_file )
2498#else
2499void yyrestart( input_file )
2500FILE *input_file;
2501#endif
2502 {
2503 if ( ! yy_current_buffer )
2504 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2505
2506 yy_init_buffer( yy_current_buffer, input_file );
2507 yy_load_buffer_state();
2508 }
2509
2510
2511#ifdef YY_USE_PROTOS
2512void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2513#else
2514void yy_switch_to_buffer( new_buffer )
2515YY_BUFFER_STATE new_buffer;
2516#endif
2517 {
2518 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002519 return;
2520
Owen Anderson1dc69692006-10-18 02:21:48 +00002521 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002522 {
2523 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002524 *yy_c_buf_p = yy_hold_char;
2525 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2526 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002527 }
2528
Owen Anderson1dc69692006-10-18 02:21:48 +00002529 yy_current_buffer = new_buffer;
2530 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002531
2532 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002533 * EOF (yywrap()) processing, but the only time this flag
2534 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002535 * to go ahead and always set it.
2536 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002537 yy_did_buffer_switch_on_eof = 1;
2538 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002539
2540
Owen Anderson1dc69692006-10-18 02:21:48 +00002541#ifdef YY_USE_PROTOS
2542void yy_load_buffer_state( void )
2543#else
2544void yy_load_buffer_state()
2545#endif
2546 {
2547 yy_n_chars = yy_current_buffer->yy_n_chars;
2548 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2549 yyin = yy_current_buffer->yy_input_file;
2550 yy_hold_char = *yy_c_buf_p;
2551 }
2552
2553
2554#ifdef YY_USE_PROTOS
2555YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2556#else
2557YY_BUFFER_STATE yy_create_buffer( file, size )
2558FILE *file;
2559int size;
2560#endif
2561 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002562 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002563
2564 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002565 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002566 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002567
2568 b->yy_buf_size = size;
2569
2570 /* yy_ch_buf has to be 2 characters longer than the size given because
2571 * we need to put in 2 end-of-buffer characters.
2572 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002573 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002574 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002575 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002576
2577 b->yy_is_our_buffer = 1;
2578
Owen Anderson1dc69692006-10-18 02:21:48 +00002579 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002580
2581 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002582 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002583
Owen Anderson1dc69692006-10-18 02:21:48 +00002584
2585#ifdef YY_USE_PROTOS
2586void yy_delete_buffer( YY_BUFFER_STATE b )
2587#else
2588void yy_delete_buffer( b )
2589YY_BUFFER_STATE b;
2590#endif
2591 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002592 if ( ! b )
2593 return;
2594
Owen Anderson1dc69692006-10-18 02:21:48 +00002595 if ( b == yy_current_buffer )
2596 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002597
2598 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002599 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002600
Owen Anderson1dc69692006-10-18 02:21:48 +00002601 yy_flex_free( (void *) b );
2602 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002603
2604
Owen Anderson1dc69692006-10-18 02:21:48 +00002605
2606#ifdef YY_USE_PROTOS
2607void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2608#else
2609void yy_init_buffer( b, file )
2610YY_BUFFER_STATE b;
2611FILE *file;
2612#endif
2613
2614
2615 {
2616 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002617
2618 b->yy_input_file = file;
2619 b->yy_fill_buffer = 1;
2620
Owen Anderson1dc69692006-10-18 02:21:48 +00002621#if YY_ALWAYS_INTERACTIVE
2622 b->yy_is_interactive = 1;
2623#else
2624#if YY_NEVER_INTERACTIVE
2625 b->yy_is_interactive = 0;
2626#else
2627 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2628#endif
2629#endif
2630 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002631
2632
Owen Anderson1dc69692006-10-18 02:21:48 +00002633#ifdef YY_USE_PROTOS
2634void yy_flush_buffer( YY_BUFFER_STATE b )
2635#else
2636void yy_flush_buffer( b )
2637YY_BUFFER_STATE b;
2638#endif
2639
2640 {
2641 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002642 return;
2643
2644 b->yy_n_chars = 0;
2645
2646 /* We always need two end-of-buffer characters. The first causes
2647 * a transition to the end-of-buffer state. The second causes
2648 * a jam in that state.
2649 */
2650 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2651 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2652
2653 b->yy_buf_pos = &b->yy_ch_buf[0];
2654
2655 b->yy_at_bol = 1;
2656 b->yy_buffer_status = YY_BUFFER_NEW;
2657
Owen Anderson1dc69692006-10-18 02:21:48 +00002658 if ( b == yy_current_buffer )
2659 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002660 }
2661
2662
Owen Anderson1dc69692006-10-18 02:21:48 +00002663#ifndef YY_NO_SCAN_BUFFER
2664#ifdef YY_USE_PROTOS
2665YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2666#else
2667YY_BUFFER_STATE yy_scan_buffer( base, size )
2668char *base;
2669yy_size_t size;
2670#endif
2671 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002672 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002673
Reid Spencer68a24bd2005-08-27 18:50:39 +00002674 if ( size < 2 ||
2675 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2676 base[size-1] != YY_END_OF_BUFFER_CHAR )
2677 /* They forgot to leave room for the EOB's. */
2678 return 0;
2679
Owen Anderson1dc69692006-10-18 02:21:48 +00002680 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002681 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002682 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002683
2684 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2685 b->yy_buf_pos = b->yy_ch_buf = base;
2686 b->yy_is_our_buffer = 0;
2687 b->yy_input_file = 0;
2688 b->yy_n_chars = b->yy_buf_size;
2689 b->yy_is_interactive = 0;
2690 b->yy_at_bol = 1;
2691 b->yy_fill_buffer = 0;
2692 b->yy_buffer_status = YY_BUFFER_NEW;
2693
Owen Anderson1dc69692006-10-18 02:21:48 +00002694 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002695
2696 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002697 }
2698#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002699
2700
Owen Anderson1dc69692006-10-18 02:21:48 +00002701#ifndef YY_NO_SCAN_STRING
2702#ifdef YY_USE_PROTOS
2703YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2704#else
2705YY_BUFFER_STATE yy_scan_string( yy_str )
2706yyconst char *yy_str;
2707#endif
2708 {
2709 int len;
2710 for ( len = 0; yy_str[len]; ++len )
2711 ;
2712
2713 return yy_scan_bytes( yy_str, len );
2714 }
2715#endif
2716
2717
2718#ifndef YY_NO_SCAN_BYTES
2719#ifdef YY_USE_PROTOS
2720YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2721#else
2722YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2723yyconst char *bytes;
2724int len;
2725#endif
2726 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002727 YY_BUFFER_STATE b;
2728 char *buf;
2729 yy_size_t n;
2730 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002731
Reid Spencer68a24bd2005-08-27 18:50:39 +00002732 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002733 n = len + 2;
2734 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002735 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002736 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002737
Owen Anderson1dc69692006-10-18 02:21:48 +00002738 for ( i = 0; i < len; ++i )
2739 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002740
Owen Anderson1dc69692006-10-18 02:21:48 +00002741 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002742
Owen Anderson1dc69692006-10-18 02:21:48 +00002743 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002744 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002745 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002746
2747 /* It's okay to grow etc. this buffer, and we should throw it
2748 * away when we're done.
2749 */
2750 b->yy_is_our_buffer = 1;
2751
2752 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002753 }
2754#endif
2755
2756
2757#ifndef YY_NO_PUSH_STATE
2758#ifdef YY_USE_PROTOS
2759static void yy_push_state( int new_state )
2760#else
2761static void yy_push_state( new_state )
2762int new_state;
2763#endif
2764 {
2765 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2766 {
2767 yy_size_t new_size;
2768
2769 yy_start_stack_depth += YY_START_STACK_INCR;
2770 new_size = yy_start_stack_depth * sizeof( int );
2771
2772 if ( ! yy_start_stack )
2773 yy_start_stack = (int *) yy_flex_alloc( new_size );
2774
2775 else
2776 yy_start_stack = (int *) yy_flex_realloc(
2777 (void *) yy_start_stack, new_size );
2778
2779 if ( ! yy_start_stack )
2780 YY_FATAL_ERROR(
2781 "out of memory expanding start-condition stack" );
2782 }
2783
2784 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2785
2786 BEGIN(new_state);
2787 }
2788#endif
2789
2790
2791#ifndef YY_NO_POP_STATE
2792static void yy_pop_state()
2793 {
2794 if ( --yy_start_stack_ptr < 0 )
2795 YY_FATAL_ERROR( "start-condition stack underflow" );
2796
2797 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2798 }
2799#endif
2800
2801
2802#ifndef YY_NO_TOP_STATE
2803static int yy_top_state()
2804 {
2805 return yy_start_stack[yy_start_stack_ptr - 1];
2806 }
2807#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002808
2809#ifndef YY_EXIT_FAILURE
2810#define YY_EXIT_FAILURE 2
2811#endif
2812
Owen Anderson1dc69692006-10-18 02:21:48 +00002813#ifdef YY_USE_PROTOS
2814static void yy_fatal_error( yyconst char msg[] )
2815#else
2816static void yy_fatal_error( msg )
2817char msg[];
2818#endif
2819 {
2820 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002821 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002822 }
2823
2824
Reid Spencer68a24bd2005-08-27 18:50:39 +00002825
2826/* Redefine yyless() so it works in section 3 code. */
2827
2828#undef yyless
2829#define yyless(n) \
2830 do \
2831 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002832 /* Undo effects of setting up yytext. */ \
2833 yytext[yyleng] = yy_hold_char; \
2834 yy_c_buf_p = yytext + n; \
2835 yy_hold_char = *yy_c_buf_p; \
2836 *yy_c_buf_p = '\0'; \
2837 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002838 } \
2839 while ( 0 )
2840
2841
Owen Anderson1dc69692006-10-18 02:21:48 +00002842/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002843
2844#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002845#ifdef YY_USE_PROTOS
2846static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2847#else
2848static void yy_flex_strncpy( s1, s2, n )
2849char *s1;
2850yyconst char *s2;
2851int n;
2852#endif
2853 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002854 register int i;
2855 for ( i = 0; i < n; ++i )
2856 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002857 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002858#endif
2859
2860#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002861#ifdef YY_USE_PROTOS
2862static int yy_flex_strlen( yyconst char *s )
2863#else
2864static int yy_flex_strlen( s )
2865yyconst char *s;
2866#endif
2867 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002868 register int n;
2869 for ( n = 0; s[n]; ++n )
2870 ;
2871
2872 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002873 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002874#endif
2875
Reid Spencer68a24bd2005-08-27 18:50:39 +00002876
Owen Anderson1dc69692006-10-18 02:21:48 +00002877#ifdef YY_USE_PROTOS
2878static void *yy_flex_alloc( yy_size_t size )
2879#else
2880static void *yy_flex_alloc( size )
2881yy_size_t size;
2882#endif
2883 {
2884 return (void *) malloc( size );
2885 }
2886
2887#ifdef YY_USE_PROTOS
2888static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2889#else
2890static inline void *yy_flex_realloc( ptr, size )
2891void *ptr;
2892yy_size_t size;
2893#endif
2894 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002895 /* The cast to (char *) in the following accommodates both
2896 * implementations that use char* generic pointers, and those
2897 * that use void* generic pointers. It works with the latter
2898 * because both ANSI C and C++ allow castless assignment from
2899 * any pointer type to void*, and deal with argument conversions
2900 * as though doing an assignment.
2901 */
2902 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002903 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002904
Owen Anderson1dc69692006-10-18 02:21:48 +00002905#ifdef YY_USE_PROTOS
2906static void yy_flex_free( void *ptr )
2907#else
2908static void yy_flex_free( ptr )
2909void *ptr;
2910#endif
2911 {
2912 free( ptr );
2913 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002914
Owen Anderson1dc69692006-10-18 02:21:48 +00002915#if YY_MAIN
2916int main()
2917 {
2918 yylex();
2919 return 0;
2920 }
2921#endif
Reid Spencere4d87aa2006-12-23 06:05:41 +00002922#line 397 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002923