blob: 826275fb2eced8ee2a31986c504d58cf2d98e5be [file] [log] [blame]
Owen Anderson1dc69692006-10-18 02:21:48 +00001#define yy_create_buffer llvmAsm_create_buffer
2#define yy_delete_buffer llvmAsm_delete_buffer
3#define yy_scan_buffer llvmAsm_scan_buffer
4#define yy_scan_string llvmAsm_scan_string
5#define yy_scan_bytes llvmAsm_scan_bytes
6#define yy_flex_debug llvmAsm_flex_debug
7#define yy_init_buffer llvmAsm_init_buffer
8#define yy_flush_buffer llvmAsm_flush_buffer
9#define yy_load_buffer_state llvmAsm_load_buffer_state
10#define yy_switch_to_buffer llvmAsm_switch_to_buffer
11#define yyin llvmAsmin
12#define yyleng llvmAsmleng
13#define yylex llvmAsmlex
14#define yyout llvmAsmout
15#define yyrestart llvmAsmrestart
16#define yytext llvmAsmtext
17#define yylineno llvmAsmlineno
Reid Spencer68a24bd2005-08-27 18:50:39 +000018
Owen Anderson1dc69692006-10-18 02:21:48 +000019#line 20 "Lexer.cpp"
Reid Spencer3da59db2006-11-27 01:05:10 +000020/* A lexical scanner generated by flex*/
Reid Spencer68a24bd2005-08-27 18:50:39 +000021
Owen Anderson1dc69692006-10-18 02:21:48 +000022/* Scanner skeleton version:
23 * $Header$
24 */
25
Reid Spencer68a24bd2005-08-27 18:50:39 +000026#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
Reid Spencer3da59db2006-11-27 01:05:10 +000031#include <unistd.h>
Reid Spencer68a24bd2005-08-27 18:50:39 +000032
33
Owen Anderson1dc69692006-10-18 02:21:48 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +000039#endif
40
41
42#ifdef __cplusplus
43
Owen Anderson1dc69692006-10-18 02:21:48 +000044#include <stdlib.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000045
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
Reid Spencer68a24bd2005-08-27 18:50:39 +000049/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
Owen Anderson1dc69692006-10-18 02:21:48 +000056#define YY_USE_PROTOS
Reid Spencer68a24bd2005-08-27 18:50:39 +000057#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
Owen Anderson1dc69692006-10-18 02:21:48 +000062#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
Reid Spencer68a24bd2005-08-27 18:50:39 +000071#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
Owen Anderson1dc69692006-10-18 02:21:48 +000077
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
Reid Spencer68a24bd2005-08-27 18:50:39 +000084/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
Owen Anderson1dc69692006-10-18 02:21:48 +000098#define BEGIN yy_start = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +000099
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
Owen Anderson1dc69692006-10-18 02:21:48 +0000104#define YY_START ((yy_start - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
Owen Anderson1dc69692006-10-18 02:21:48 +0000111#define YY_NEW_FILE yyrestart( yyin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE (16384*64)
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
Owen Anderson1dc69692006-10-18 02:21:48 +0000120extern int yyleng;
121extern FILE *yyin, *yyout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
Owen Anderson1dc69692006-10-18 02:21:48 +0000127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
Reid Spencer68a24bd2005-08-27 18:50:39 +0000143#define yyless(n) \
144 do \
145 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000148 YY_RESTORE_YY_MORE_OFFSET \
Owen Anderson1dc69692006-10-18 02:21:48 +0000149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000151 } \
152 while ( 0 )
153
Owen Anderson1dc69692006-10-18 02:21:48 +0000154#define unput(c) yyunput( c, yytext_ptr )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000155
Reid Spencer3da59db2006-11-27 01:05:10 +0000156/* Some routines like yy_flex_realloc() are emitted as static but are
157 not called by all lexers. This generates warnings in some compilers,
158 notably GCC. Arrange to suppress these. */
159#ifdef __GNUC__
160#define YY_MAY_BE_UNUSED __attribute__((unused))
161#else
162#define YY_MAY_BE_UNUSED
163#endif
164
Reid Spencer68a24bd2005-08-27 18:50:39 +0000165/* The following is because we cannot portably get our hands on size_t
166 * (without autoconf's help, which isn't available because we want
167 * flex-generated scanners to compile on their own).
168 */
169typedef unsigned int yy_size_t;
170
Owen Anderson1dc69692006-10-18 02:21:48 +0000171
Reid Spencer68a24bd2005-08-27 18:50:39 +0000172struct yy_buffer_state
173 {
174 FILE *yy_input_file;
175
176 char *yy_ch_buf; /* input buffer */
177 char *yy_buf_pos; /* current position in input buffer */
178
179 /* Size of input buffer in bytes, not including room for EOB
180 * characters.
181 */
182 yy_size_t yy_buf_size;
183
184 /* Number of characters read into yy_ch_buf, not including EOB
185 * characters.
186 */
187 int yy_n_chars;
188
189 /* Whether we "own" the buffer - i.e., we know we created it,
190 * and can realloc() it to grow it, and should free() it to
191 * delete it.
192 */
193 int yy_is_our_buffer;
194
195 /* Whether this is an "interactive" input source; if so, and
196 * if we're using stdio for input, then we want to use getc()
197 * instead of fread(), to make sure we stop fetching input after
198 * each newline.
199 */
200 int yy_is_interactive;
201
202 /* Whether we're considered to be at the beginning of a line.
203 * If so, '^' rules will be active on the next match, otherwise
204 * not.
205 */
206 int yy_at_bol;
207
208 /* Whether to try to fill the input buffer when we reach the
209 * end of it.
210 */
211 int yy_fill_buffer;
212
213 int yy_buffer_status;
214#define YY_BUFFER_NEW 0
215#define YY_BUFFER_NORMAL 1
216 /* When an EOF's been seen but there's still some text to process
217 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
218 * shouldn't try reading from the input source any more. We might
219 * still have a bunch of tokens to match, though, because of
220 * possible backing-up.
221 *
222 * When we actually see the EOF, we change the status to "new"
Owen Anderson1dc69692006-10-18 02:21:48 +0000223 * (via yyrestart()), so that the user can continue scanning by
224 * just pointing yyin at a new input file.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000225 */
226#define YY_BUFFER_EOF_PENDING 2
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000227 };
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000228
Owen Anderson1dc69692006-10-18 02:21:48 +0000229static YY_BUFFER_STATE yy_current_buffer = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000230
231/* We provide macros for accessing buffer states in case in the
232 * future we want to put the buffer states in a more general
233 * "scanner state".
234 */
Owen Anderson1dc69692006-10-18 02:21:48 +0000235#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237
Owen Anderson1dc69692006-10-18 02:21:48 +0000238/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000239static char yy_hold_char;
Owen Anderson1dc69692006-10-18 02:21:48 +0000240
Reid Spencer68a24bd2005-08-27 18:50:39 +0000241static int yy_n_chars; /* number of characters read into yy_ch_buf */
Owen Anderson1dc69692006-10-18 02:21:48 +0000242
243
244int yyleng;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000245
246/* Points to current character in buffer. */
247static char *yy_c_buf_p = (char *) 0;
Owen Anderson1dc69692006-10-18 02:21:48 +0000248static int yy_init = 1; /* whether we need to initialize */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000249static int yy_start = 0; /* start state number */
250
Owen Anderson1dc69692006-10-18 02:21:48 +0000251/* Flag which is used to allow yywrap()'s to do buffer switches
252 * instead of setting up a fresh yyin. A bit of a hack ...
Reid Spencer68a24bd2005-08-27 18:50:39 +0000253 */
254static int yy_did_buffer_switch_on_eof;
255
Owen Anderson1dc69692006-10-18 02:21:48 +0000256void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000257
Owen Anderson1dc69692006-10-18 02:21:48 +0000258void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
259void yy_load_buffer_state YY_PROTO(( void ));
260YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
261void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
262void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
263void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
264#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000265
Owen Anderson1dc69692006-10-18 02:21:48 +0000266YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
267YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
268YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000269
Owen Anderson1dc69692006-10-18 02:21:48 +0000270static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
Reid Spencer3da59db2006-11-27 01:05:10 +0000271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
Owen Anderson1dc69692006-10-18 02:21:48 +0000272static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000273
Owen Anderson1dc69692006-10-18 02:21:48 +0000274#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000275
276#define yy_set_interactive(is_interactive) \
277 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000278 if ( ! yy_current_buffer ) \
279 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
280 yy_current_buffer->yy_is_interactive = is_interactive; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000281 }
282
283#define yy_set_bol(at_bol) \
284 { \
Owen Anderson1dc69692006-10-18 02:21:48 +0000285 if ( ! yy_current_buffer ) \
286 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
287 yy_current_buffer->yy_at_bol = at_bol; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000288 }
289
Owen Anderson1dc69692006-10-18 02:21:48 +0000290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291
292
Owen Anderson1dc69692006-10-18 02:21:48 +0000293#define YY_USES_REJECT
294
295#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000296#define YY_SKIP_YYWRAP
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000297typedef unsigned char YY_CHAR;
Owen Anderson1dc69692006-10-18 02:21:48 +0000298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000299typedef int yy_state_type;
Owen Anderson1dc69692006-10-18 02:21:48 +0000300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000304
Owen Anderson1dc69692006-10-18 02:21:48 +0000305static yy_state_type yy_get_previous_state YY_PROTO(( void ));
306static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
307static int yy_get_next_buffer YY_PROTO(( void ));
308static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000309
310/* Done after the current pattern has been matched and before the
Owen Anderson1dc69692006-10-18 02:21:48 +0000311 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 */
313#define YY_DO_BEFORE_ACTION \
Owen Anderson1dc69692006-10-18 02:21:48 +0000314 yytext_ptr = yy_bp; \
315 yyleng = (int) (yy_cp - yy_bp); \
316 yy_hold_char = *yy_cp; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000317 *yy_cp = '\0'; \
Owen Anderson1dc69692006-10-18 02:21:48 +0000318 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319
Reid Spencer3da59db2006-11-27 01:05:10 +0000320#define YY_NUM_RULES 134
321#define YY_END_OF_BUFFER 135
322static yyconst short int yy_acclist[212] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencer3da59db2006-11-27 01:05:10 +0000324 135, 133, 134, 132, 133, 134, 132, 134, 133, 134,
325 133, 134, 133, 134, 133, 134, 133, 134, 133, 134,
326 125, 133, 134, 125, 133, 134, 1, 133, 134, 133,
327 134, 133, 134, 133, 134, 133, 134, 133, 134, 133,
328 134, 133, 134, 133, 134, 133, 134, 133, 134, 133,
329 134, 133, 134, 133, 134, 133, 134, 133, 134, 133,
330 134, 133, 134, 133, 134, 133, 134, 133, 134, 133,
331 134, 124, 122, 121, 121, 128, 126, 130, 125, 1,
332 107, 41, 75, 23, 124, 121, 121, 129, 130, 20,
333 130, 131, 63, 74, 39, 34, 42, 66, 3, 54,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencer3da59db2006-11-27 01:05:10 +0000335 65, 25, 83, 70, 106, 99, 100, 64, 76, 123,
336 130, 130, 102, 49, 84, 85, 69, 114, 73, 115,
337 56, 101, 22, 127, 68, 88, 72, 26, 4, 61,
338 67, 55, 71, 48, 11, 87, 130, 36, 2, 5,
339 58, 90, 60, 50, 78, 82, 80, 81, 79, 77,
340 52, 116, 86, 51, 57, 21, 104, 113, 45, 59,
341 30, 24, 44, 94, 93, 7, 109, 33, 112, 38,
342 62, 98, 92, 108, 27, 28, 91, 110, 53, 105,
343 103, 97, 43, 6, 29, 89, 37, 8, 17, 9,
344 95, 10, 96, 35, 12, 14, 13, 32, 40, 15,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencer3da59db2006-11-27 01:05:10 +0000346 31, 111, 117, 119, 120, 16, 46, 118, 18, 47,
347 19
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencer3da59db2006-11-27 01:05:10 +0000350static yyconst short int yy_accept[577] =
Owen Anderson1dc69692006-10-18 02:21:48 +0000351 { 0,
352 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
353 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
354 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
355 60, 62, 64, 66, 68, 70, 72, 72, 73, 73,
356 74, 75, 76, 77, 77, 78, 78, 79, 80, 80,
357 81, 81, 81, 81, 81, 81, 81, 81, 81, 82,
358 82, 83, 83, 83, 83, 83, 83, 83, 83, 83,
359 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
Reid Spencer3da59db2006-11-27 01:05:10 +0000360 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
Owen Anderson1dc69692006-10-18 02:21:48 +0000361 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
362
Reid Spencer3da59db2006-11-27 01:05:10 +0000363 84, 84, 84, 84, 84, 84, 85, 85, 85, 85,
364 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
365 85, 85, 86, 87, 89, 90, 91, 92, 92, 93,
366 94, 94, 94, 95, 95, 95, 96, 96, 97, 97,
367 97, 97, 97, 98, 98, 98, 98, 98, 98, 98,
368 99, 99, 99, 100, 100, 100, 100, 100, 100, 100,
369 100, 100, 100, 100, 100, 100, 100, 101, 101, 101,
370 101, 101, 101, 101, 101, 101, 101, 102, 103, 103,
371 103, 104, 104, 104, 105, 106, 106, 106, 106, 106,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000372 106, 106, 106, 107, 107, 108, 108, 108, 108, 108,
Reid Spencer3da59db2006-11-27 01:05:10 +0000373
374 108, 109, 109, 109, 109, 109, 109, 109, 109, 109,
Owen Anderson1dc69692006-10-18 02:21:48 +0000375 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
Reid Spencer3da59db2006-11-27 01:05:10 +0000376 109, 109, 109, 109, 109, 109, 110, 110, 110, 111,
377 112, 112, 112, 112, 113, 113, 113, 113, 114, 114,
378 114, 115, 116, 117, 117, 117, 117, 117, 117, 117,
379 117, 117, 117, 117, 117, 117, 117, 117, 117, 118,
380 118, 118, 118, 118, 119, 120, 120, 120, 120, 120,
381 120, 120, 120, 120, 120, 120, 121, 122, 123, 123,
382 123, 124, 124, 124, 124, 125, 125, 126, 126, 126,
383 126, 126, 126, 126, 127, 127, 127, 127, 127, 128,
Owen Anderson1dc69692006-10-18 02:21:48 +0000384
Reid Spencer3da59db2006-11-27 01:05:10 +0000385 128, 128, 129, 129, 129, 130, 130, 131, 131, 132,
386 133, 133, 133, 133, 133, 133, 133, 134, 134, 134,
387 134, 134, 135, 135, 136, 136, 136, 137, 138, 139,
388 139, 139, 140, 140, 140, 140, 140, 140, 140, 140,
389 140, 140, 140, 140, 140, 140, 140, 141, 141, 142,
390 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
391 143, 144, 144, 144, 144, 144, 144, 144, 144, 145,
392 145, 145, 146, 147, 148, 149, 150, 151, 152, 152,
393 152, 152, 153, 153, 153, 153, 154, 155, 155, 156,
394 157, 157, 157, 157, 157, 157, 158, 158, 158, 158,
Owen Anderson1dc69692006-10-18 02:21:48 +0000395
Reid Spencer3da59db2006-11-27 01:05:10 +0000396 158, 158, 159, 159, 159, 160, 160, 160, 160, 160,
397 160, 160, 160, 161, 162, 163, 163, 163, 164, 165,
398 166, 166, 166, 167, 167, 167, 167, 167, 168, 168,
399 169, 170, 171, 172, 172, 172, 172, 173, 173, 173,
400 174, 175, 176, 177, 178, 178, 178, 179, 180, 181,
401 182, 182, 182, 182, 182, 182, 183, 183, 184, 184,
402 185, 186, 186, 186, 186, 186, 186, 187, 187, 187,
403 187, 187, 187, 187, 187, 187, 188, 188, 188, 188,
404 188, 188, 188, 188, 188, 188, 189, 189, 189, 189,
405 189, 190, 190, 190, 190, 190, 191, 192, 193, 193,
Owen Anderson1dc69692006-10-18 02:21:48 +0000406
Reid Spencer3da59db2006-11-27 01:05:10 +0000407 194, 194, 194, 194, 194, 195, 195, 195, 195, 196,
408 196, 197, 198, 198, 198, 198, 198, 198, 198, 198,
409 198, 198, 198, 198, 198, 198, 199, 199, 199, 199,
410 199, 199, 199, 199, 200, 200, 200, 200, 200, 200,
411 201, 201, 201, 201, 201, 202, 202, 202, 203, 203,
412 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
413 203, 203, 204, 204, 205, 206, 207, 207, 208, 208,
414 209, 210, 211, 211, 212, 212
Owen Anderson1dc69692006-10-18 02:21:48 +0000415 } ;
416
417static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000418 { 0,
419 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
420 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
421 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
422 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
423 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000424 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
425 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000426 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
427 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000428 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000429
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000430 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
431 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
432 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
440
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
446 1, 1, 1, 1, 1
447 } ;
448
Owen Anderson1dc69692006-10-18 02:21:48 +0000449static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000450 { 0,
451 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000452 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000453 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
454 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000455 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000456 } ;
457
Reid Spencer3da59db2006-11-27 01:05:10 +0000458static yyconst short int yy_base[581] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000459 { 0,
Reid Spencer3da59db2006-11-27 01:05:10 +0000460 0, 0, 1240, 1241, 1241, 1241, 1235, 1224, 36, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000461 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000462 100, 97, 76, 96, 111, 49, 113, 110, 68, 140,
Reid Spencer3da59db2006-11-27 01:05:10 +0000463 126, 171, 120, 130, 124, 141, 1233, 1241, 1222, 1241,
464 0, 159, 176, 199, 204, 70, 209, 224, 229, 0,
465 137, 165, 143, 72, 169, 159, 230, 215, 1221, 168,
466 182, 31, 69, 187, 240, 191, 242, 243, 244, 248,
467 246, 245, 251, 254, 256, 249, 260, 262, 264, 211,
468 273, 274, 270, 280, 275, 284, 285, 288, 292, 1220,
469 293, 294, 298, 300, 301, 276, 302, 310, 311, 313,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000470
Reid Spencer3da59db2006-11-27 01:05:10 +0000471 305, 309, 312, 330, 331, 1219, 334, 320, 322, 338,
472 340, 324, 341, 346, 348, 361, 356, 359, 162, 353,
473 368, 1218, 0, 383, 387, 1217, 401, 418, 0, 1216,
474 376, 370, 1215, 393, 373, 1214, 392, 1213, 406, 407,
475 408, 403, 1212, 419, 95, 420, 372, 409, 421, 1211,
476 425, 431, 428, 430, 433, 435, 432, 440, 443, 444,
477 445, 451, 447, 446, 449, 450, 453, 461, 468, 458,
478 469, 470, 473, 474, 475, 480, 1210, 1209, 481, 482,
479 1208, 483, 485, 1207, 1206, 513, 491, 488, 494, 489,
480 524, 503, 1205, 486, 1204, 487, 525, 527, 250, 528,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000481
Reid Spencer3da59db2006-11-27 01:05:10 +0000482 1203, 506, 531, 532, 536, 542, 538, 530, 537, 540,
483 548, 544, 556, 550, 560, 557, 375, 554, 568, 558,
484 571, 493, 576, 564, 582, 1202, 574, 552, 1241, 591,
485 605, 609, 613, 618, 619, 577, 620, 1201, 621, 591,
486 1200, 1199, 1198, 622, 623, 624, 625, 626, 628, 627,
487 632, 630, 634, 633, 635, 644, 642, 643, 1197, 653,
488 655, 657, 658, 1196, 1195, 659, 660, 661, 662, 663,
489 667, 583, 671, 669, 673, 1194, 1193, 1192, 672, 677,
490 1191, 675, 666, 680, 0, 691, 1190, 693, 694, 695,
491 696, 702, 703, 1189, 697, 585, 704, 707, 1188, 709,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000492
Reid Spencer3da59db2006-11-27 01:05:10 +0000493 714, 1187, 722, 708, 1186, 726, 1185, 727, 1184, 1183,
494 724, 728, 730, 716, 732, 735, 1182, 738, 741, 742,
495 743, 1181, 744, 1180, 746, 745, 1179, 751, 1178, 755,
496 757, 1177, 751, 754, 764, 771, 772, 763, 499, 766,
497 774, 779, 775, 776, 780, 782, 1176, 783, 1175, 1174,
498 781, 787, 786, 795, 791, 796, 798, 801, 805, 802,
499 1173, 808, 807, 810, 813, 814, 819, 820, 1172, 809,
500 815, 1171, 1170, 1169, 1168, 1167, 1166, 1165, 826, 829,
501 830, 1164, 831, 832, 835, 1163, 1162, 834, 1161, 1160,
502 836, 840, 837, 842, 846, 1159, 848, 850, 851, 852,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000503
Reid Spencer3da59db2006-11-27 01:05:10 +0000504 860, 1158, 854, 858, 1157, 861, 862, 864, 870, 866,
505 868, 872, 1156, 1155, 1154, 880, 873, 1153, 1152, 1151,
506 876, 882, 1150, 891, 893, 889, 874, 1149, 899, 1148,
507 1147, 1146, 1145, 887, 895, 901, 1144, 904, 905, 1143,
508 1142, 1141, 1140, 1139, 903, 907, 1138, 1137, 1136, 1135,
509 909, 910, 914, 917, 911, 1134, 920, 1133, 921, 1132,
510 1131, 923, 925, 926, 927, 929, 1130, 931, 933, 934,
511 936, 935, 945, 937, 941, 1129, 947, 948, 953, 955,
512 961, 962, 966, 963, 965, 1128, 967, 969, 971, 968,
513 1127, 974, 978, 975, 979, 1126, 1123, 1113, 980, 1112,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000514
Reid Spencer3da59db2006-11-27 01:05:10 +0000515 981, 996, 982, 999, 1111, 1000, 1001, 1002, 1109, 987,
516 1108, 1107, 1004, 1008, 1011, 1013, 1012, 1014, 1016, 1019,
517 1020, 1021, 1022, 1024, 1025, 1104, 1026, 1029, 1031, 1032,
518 1035, 1037, 1038, 1101, 1041, 1047, 1048, 1049, 1051, 1100,
519 1053, 1052, 1054, 1057, 1098, 1058, 1059, 1096, 1065, 1071,
520 1060, 1069, 1072, 1077, 1079, 1082, 1081, 1083, 1084, 1085,
521 1087, 984, 1088, 983, 710, 668, 1092, 664, 1097, 593,
522 345, 214, 1094, 213, 1241, 1129, 1131, 187, 1135, 138
Reid Spencer68a24bd2005-08-27 18:50:39 +0000523 } ;
524
Reid Spencer3da59db2006-11-27 01:05:10 +0000525static yyconst short int yy_def[581] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000526 { 0,
Reid Spencer3da59db2006-11-27 01:05:10 +0000527 575, 1, 575, 575, 575, 575, 576, 577, 578, 575,
528 577, 577, 577, 577, 579, 577, 577, 577, 577, 577,
529 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
530 577, 577, 577, 577, 577, 577, 576, 575, 577, 575,
531 580, 580, 575, 575, 577, 577, 577, 577, 577, 579,
532 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
533 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
534 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
535 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
536 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000537
Reid Spencer3da59db2006-11-27 01:05:10 +0000538 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
539 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
540 577, 575, 580, 580, 575, 577, 577, 577, 49, 577,
541 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
542 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
543 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
544 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
545 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
546 577, 577, 577, 577, 577, 49, 577, 577, 577, 577,
547 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000548
Reid Spencer3da59db2006-11-27 01:05:10 +0000549 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
550 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
551 577, 577, 577, 577, 577, 577, 577, 577, 575, 575,
552 575, 575, 577, 577, 577, 577, 577, 577, 577, 577,
553 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
554 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
555 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
556 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
557 577, 577, 577, 577, 186, 577, 577, 577, 577, 577,
558 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000559
Reid Spencer3da59db2006-11-27 01:05:10 +0000560 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
561 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
562 577, 577, 577, 577, 577, 577, 577, 575, 577, 577,
563 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
564 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
565 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
566 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
567 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
568 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
569 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000570
Reid Spencer3da59db2006-11-27 01:05:10 +0000571 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
572 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
573 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
574 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
575 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
576 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
577 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
578 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
579 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
580 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000581
Reid Spencer3da59db2006-11-27 01:05:10 +0000582 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
583 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
584 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
585 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
586 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
587 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
588 577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
589 577, 577, 577, 577, 0, 575, 575, 575, 575, 575
Reid Spencer68a24bd2005-08-27 18:50:39 +0000590 } ;
591
Reid Spencer3da59db2006-11-27 01:05:10 +0000592static yyconst short int yy_nxt[1285] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000593 { 0,
594 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000595 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
596 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
597 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
598 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
Reid Spencer3da59db2006-11-27 01:05:10 +0000599 44, 44, 44, 45, 45, 45, 45, 40, 46, 144,
600 40, 145, 40, 40, 47, 48, 48, 48, 48, 40,
601 47, 48, 48, 48, 48, 40, 40, 69, 126, 40,
602 87, 40, 40, 40, 51, 40, 88, 70, 56, 40,
603 94, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000604
Reid Spencer3da59db2006-11-27 01:05:10 +0000605 59, 61, 40, 146, 134, 78, 79, 64, 40, 40,
606 40, 65, 62, 40, 80, 66, 63, 67, 71, 76,
607 68, 72, 81, 40, 40, 77, 40, 82, 73, 84,
608 245, 83, 74, 40, 75, 91, 119, 40, 116, 40,
609 123, 92, 85, 40, 105, 89, 93, 90, 86, 95,
610 40, 117, 118, 40, 40, 120, 40, 106, 130, 96,
611 107, 97, 98, 121, 133, 99, 100, 108, 124, 124,
612 124, 124, 40, 225, 101, 40, 102, 103, 40, 104,
613 95, 40, 40, 137, 40, 43, 43, 43, 43, 41,
614 109, 131, 110, 132, 135, 40, 141, 111, 136, 112,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000615
Reid Spencer3da59db2006-11-27 01:05:10 +0000616 40, 113, 143, 142, 40, 114, 115, 125, 44, 44,
617 44, 44, 47, 45, 45, 45, 45, 40, 127, 127,
618 127, 127, 40, 147, 40, 128, 40, 40, 40, 150,
619 169, 128, 47, 48, 48, 48, 48, 40, 129, 129,
620 129, 129, 40, 40, 129, 129, 140, 129, 129, 129,
621 129, 129, 129, 40, 138, 40, 40, 40, 40, 40,
622 148, 40, 40, 40, 40, 153, 139, 40, 154, 40,
623 151, 158, 149, 40, 156, 40, 160, 40, 162, 299,
624 152, 157, 159, 40, 155, 163, 40, 40, 40, 40,
625 161, 164, 172, 40, 165, 174, 176, 40, 40, 166,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000626
Reid Spencer3da59db2006-11-27 01:05:10 +0000627 167, 40, 168, 170, 173, 40, 40, 40, 175, 171,
628 180, 40, 177, 40, 40, 40, 179, 187, 40, 181,
629 182, 178, 40, 40, 40, 40, 40, 199, 188, 184,
630 189, 201, 183, 40, 197, 40, 185, 40, 190, 193,
631 200, 186, 194, 40, 40, 195, 191, 40, 196, 198,
632 192, 40, 207, 40, 40, 212, 202, 203, 40, 40,
633 205, 40, 213, 208, 209, 204, 40, 214, 217, 40,
634 210, 206, 40, 218, 40, 215, 211, 224, 219, 220,
635 216, 40, 222, 40, 223, 40, 40, 226, 40, 40,
636 247, 221, 124, 124, 124, 124, 230, 230, 230, 230,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000637
Reid Spencer3da59db2006-11-27 01:05:10 +0000638 235, 236, 227, 231, 317, 40, 40, 238, 228, 231,
639 127, 127, 127, 127, 40, 237, 40, 128, 239, 40,
640 40, 40, 40, 128, 232, 233, 240, 234, 234, 234,
641 234, 40, 40, 40, 40, 241, 242, 248, 40, 243,
642 244, 40, 246, 40, 40, 40, 40, 250, 40, 249,
643 252, 251, 254, 40, 253, 255, 40, 40, 40, 40,
644 40, 260, 40, 40, 40, 267, 40, 256, 258, 266,
645 257, 40, 269, 264, 40, 270, 262, 268, 259, 263,
646 265, 40, 40, 40, 261, 274, 40, 40, 40, 271,
647 273, 276, 272, 40, 40, 40, 40, 277, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000648
Reid Spencer3da59db2006-11-27 01:05:10 +0000649 40, 40, 40, 279, 40, 275, 40, 40, 278, 281,
650 296, 289, 40, 283, 322, 282, 40, 280, 410, 40,
651 295, 284, 285, 285, 285, 285, 287, 286, 285, 285,
652 288, 285, 285, 285, 285, 285, 285, 40, 40, 294,
653 40, 40, 301, 40, 40, 40, 290, 297, 291, 40,
654 40, 40, 292, 40, 293, 40, 303, 40, 298, 302,
655 307, 40, 300, 40, 305, 40, 308, 40, 304, 40,
656 40, 40, 306, 40, 312, 309, 310, 40, 313, 311,
657 314, 40, 315, 316, 40, 318, 319, 40, 327, 40,
658 40, 324, 320, 321, 323, 40, 40, 330, 40, 325,
659
660 230, 230, 230, 230, 40, 326, 40, 231, 379, 333,
661 360, 232, 232, 231, 328, 328, 328, 328, 328, 328,
662 328, 328, 234, 234, 234, 234, 40, 234, 234, 234,
663 234, 40, 40, 40, 40, 40, 40, 40, 40, 40,
664 40, 40, 334, 40, 338, 40, 40, 40, 40, 329,
665 331, 332, 343, 337, 339, 40, 40, 40, 342, 335,
666 336, 341, 346, 348, 347, 344, 40, 340, 40, 345,
667 40, 40, 40, 40, 40, 40, 40, 40, 355, 40,
668 40, 40, 40, 356, 40, 40, 40, 354, 40, 349,
669 40, 350, 351, 40, 352, 353, 357, 358, 359, 361,
670
671 362, 363, 367, 364, 40, 365, 40, 40, 40, 40,
672 40, 368, 366, 369, 371, 40, 40, 40, 373, 370,
673 40, 40, 40, 40, 375, 377, 380, 40, 372, 40,
674 381, 382, 374, 378, 383, 40, 385, 40, 376, 40,
675 40, 40, 391, 40, 384, 40, 386, 388, 40, 387,
676 392, 40, 389, 390, 40, 40, 40, 40, 40, 40,
677 328, 328, 328, 328, 40, 393, 396, 40, 40, 399,
678 40, 401, 394, 402, 405, 395, 40, 40, 403, 40,
679 398, 400, 406, 397, 40, 40, 404, 40, 40, 40,
680 408, 407, 40, 40, 40, 40, 40, 409, 411, 40,
681
682 40, 413, 417, 418, 40, 414, 412, 419, 40, 40,
683 416, 40, 415, 420, 40, 40, 421, 422, 40, 423,
684 40, 40, 40, 40, 428, 424, 40, 40, 40, 430,
685 431, 426, 40, 40, 425, 432, 433, 427, 429, 40,
686 436, 434, 40, 40, 40, 40, 435, 40, 40, 40,
687 40, 437, 439, 40, 438, 40, 441, 443, 447, 40,
688 446, 40, 440, 40, 40, 40, 444, 40, 442, 452,
689 449, 40, 445, 40, 40, 40, 451, 40, 448, 40,
690 455, 40, 458, 40, 450, 40, 40, 40, 453, 40,
691 454, 457, 460, 40, 456, 40, 467, 464, 465, 462,
692
693 40, 461, 40, 463, 40, 459, 40, 471, 40, 466,
694 472, 468, 40, 469, 40, 470, 40, 40, 40, 473,
695 40, 474, 40, 40, 40, 475, 477, 40, 478, 479,
696 40, 476, 480, 40, 40, 483, 40, 481, 40, 40,
697 40, 485, 40, 484, 40, 482, 40, 40, 40, 40,
698 40, 492, 487, 493, 40, 491, 486, 488, 40, 489,
699 40, 40, 495, 494, 496, 490, 40, 498, 40, 497,
700 502, 503, 499, 504, 40, 40, 40, 500, 40, 40,
701 40, 40, 40, 505, 40, 501, 507, 40, 40, 509,
702 513, 40, 40, 40, 40, 40, 40, 40, 506, 508,
703
704 40, 517, 514, 519, 510, 511, 518, 512, 515, 40,
705 521, 516, 40, 40, 40, 40, 520, 40, 522, 524,
706 523, 40, 527, 526, 40, 40, 40, 40, 525, 40,
707 528, 530, 40, 40, 40, 40, 533, 40, 40, 40,
708 537, 531, 40, 539, 40, 40, 535, 529, 40, 536,
709 40, 40, 538, 540, 40, 534, 532, 544, 541, 545,
710 40, 40, 40, 542, 40, 40, 40, 40, 543, 548,
711 40, 40, 40, 40, 546, 552, 549, 550, 40, 551,
712 554, 557, 40, 547, 40, 40, 560, 555, 553, 556,
713 40, 559, 40, 558, 40, 40, 40, 40, 40, 561,
714
715 40, 40, 566, 567, 568, 40, 562, 40, 563, 40,
716 40, 40, 572, 40, 40, 564, 565, 40, 571, 573,
717 40, 40, 40, 570, 40, 40, 40, 569, 574, 37,
718 37, 37, 37, 39, 39, 50, 40, 50, 50, 40,
Chris Lattner1ae022f2006-10-22 06:08:13 +0000719 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000720 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000721 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000722 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
723 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000724 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000725
Reid Spencer3ed469c2006-11-02 20:25:50 +0000726 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
727 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
728 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000729 40, 229, 40, 40, 40, 40, 122, 40, 38, 575,
730 3, 575, 575, 575, 575, 575, 575, 575, 575, 575,
731 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
732 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
733 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
734 575, 575, 575, 575
Reid Spencer68a24bd2005-08-27 18:50:39 +0000735 } ;
736
Reid Spencer3da59db2006-11-27 01:05:10 +0000737static yyconst short int yy_chk[1285] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000738 { 0,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000743 1, 1, 1, 9, 62, 9, 9, 9, 9, 10,
744 10, 10, 10, 11, 11, 11, 11, 11, 12, 62,
745 20, 62, 26, 12, 13, 13, 13, 13, 13, 13,
746 14, 14, 14, 14, 14, 14, 16, 20, 46, 17,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000747 26, 29, 63, 46, 16, 54, 26, 20, 17, 23,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000748 29, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000749
Reid Spencer3da59db2006-11-27 01:05:10 +0000750 17, 18, 19, 63, 54, 23, 23, 19, 145, 24,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000751 22, 19, 18, 21, 24, 19, 18, 19, 21, 22,
752 19, 21, 24, 28, 25, 22, 27, 24, 21, 25,
Reid Spencer3da59db2006-11-27 01:05:10 +0000753 145, 24, 21, 33, 21, 28, 35, 35, 33, 31,
754 580, 28, 25, 34, 31, 27, 28, 27, 25, 30,
755 51, 33, 34, 30, 36, 35, 53, 31, 51, 30,
756 31, 30, 30, 36, 53, 30, 30, 31, 42, 42,
757 42, 42, 56, 119, 30, 119, 30, 30, 52, 30,
758 32, 60, 55, 56, 32, 43, 43, 43, 43, 578,
759 32, 52, 32, 52, 55, 61, 60, 32, 55, 32,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000760
Reid Spencer3da59db2006-11-27 01:05:10 +0000761 64, 32, 61, 60, 66, 32, 32, 44, 44, 44,
Reid Spencer3ed469c2006-11-02 20:25:50 +0000762 44, 44, 45, 45, 45, 45, 45, 45, 47, 47,
Reid Spencer3da59db2006-11-27 01:05:10 +0000763 47, 47, 47, 64, 80, 47, 574, 572, 58, 66,
764 80, 47, 48, 48, 48, 48, 48, 48, 49, 49,
765 49, 49, 49, 57, 49, 49, 58, 49, 49, 49,
766 49, 49, 49, 65, 57, 67, 68, 69, 72, 71,
767 65, 70, 76, 199, 73, 69, 57, 74, 70, 75,
768 67, 72, 65, 77, 71, 78, 74, 79, 75, 199,
769 68, 71, 73, 83, 70, 76, 81, 82, 85, 96,
770 74, 77, 82, 84, 78, 83, 85, 86, 87, 79,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000771
Reid Spencer3da59db2006-11-27 01:05:10 +0000772 79, 88, 79, 81, 82, 89, 91, 92, 84, 81,
773 89, 93, 86, 94, 95, 97, 88, 96, 101, 91,
774 92, 87, 102, 98, 99, 103, 100, 101, 97, 94,
775 98, 103, 93, 108, 100, 109, 94, 112, 98, 99,
776 102, 95, 99, 104, 105, 99, 98, 107, 99, 100,
777 98, 110, 108, 111, 113, 112, 104, 105, 571, 114,
778 107, 115, 113, 109, 110, 105, 120, 113, 114, 117,
779 111, 107, 118, 115, 116, 113, 111, 118, 116, 116,
780 113, 121, 117, 132, 117, 147, 135, 120, 217, 131,
781 147, 116, 124, 124, 124, 124, 125, 125, 125, 125,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000782
Reid Spencer3da59db2006-11-27 01:05:10 +0000783 131, 132, 121, 125, 217, 137, 134, 135, 121, 125,
784 127, 127, 127, 127, 127, 134, 142, 127, 137, 139,
785 140, 141, 148, 127, 128, 128, 139, 128, 128, 128,
786 128, 128, 144, 146, 149, 140, 141, 148, 151, 142,
787 144, 153, 146, 154, 152, 157, 155, 151, 156, 149,
788 152, 151, 154, 158, 153, 155, 159, 160, 161, 164,
789 163, 159, 165, 166, 162, 164, 167, 155, 157, 163,
790 156, 170, 166, 162, 168, 167, 161, 165, 158, 161,
791 162, 169, 171, 172, 160, 170, 173, 174, 175, 167,
792 169, 172, 168, 176, 179, 180, 182, 173, 183, 194,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000793
Reid Spencer3da59db2006-11-27 01:05:10 +0000794 196, 188, 190, 175, 187, 171, 222, 189, 174, 179,
795 196, 190, 339, 182, 222, 180, 192, 176, 339, 202,
796 194, 183, 186, 186, 186, 186, 188, 187, 186, 186,
797 189, 186, 186, 186, 186, 186, 186, 191, 197, 192,
798 198, 200, 202, 208, 203, 204, 191, 197, 191, 205,
799 209, 207, 191, 210, 191, 206, 204, 212, 198, 203,
800 207, 211, 200, 214, 206, 228, 208, 218, 205, 213,
801 216, 220, 206, 215, 212, 209, 210, 224, 213, 211,
802 214, 219, 215, 216, 221, 218, 219, 227, 228, 223,
803 236, 224, 220, 221, 223, 225, 272, 236, 296, 225,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000804
Reid Spencer3da59db2006-11-27 01:05:10 +0000805 230, 230, 230, 230, 240, 227, 570, 230, 296, 240,
806 272, 231, 231, 230, 231, 231, 231, 231, 232, 232,
807 232, 232, 233, 233, 233, 233, 233, 234, 234, 234,
808 234, 234, 235, 237, 239, 244, 245, 246, 247, 248,
809 250, 249, 244, 252, 248, 251, 254, 253, 255, 235,
810 237, 239, 253, 247, 249, 257, 258, 256, 252, 245,
811 246, 251, 256, 258, 257, 254, 260, 250, 261, 255,
812 262, 263, 266, 267, 268, 269, 270, 568, 267, 283,
813 271, 566, 274, 268, 273, 279, 275, 266, 282, 260,
814 280, 261, 262, 284, 262, 263, 269, 270, 271, 273,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000815
Reid Spencer3da59db2006-11-27 01:05:10 +0000816 274, 275, 283, 279, 286, 280, 288, 289, 290, 291,
817 295, 284, 282, 286, 289, 292, 293, 297, 291, 288,
818 298, 304, 300, 565, 292, 293, 297, 301, 290, 314,
819 298, 300, 291, 295, 301, 303, 304, 311, 292, 306,
820 308, 312, 314, 313, 303, 315, 306, 311, 316, 308,
821 315, 318, 312, 313, 319, 320, 321, 323, 326, 325,
822 328, 328, 328, 328, 333, 316, 320, 334, 330, 325,
823 331, 326, 318, 330, 334, 319, 338, 335, 331, 340,
824 323, 325, 335, 321, 336, 337, 333, 341, 343, 344,
825 337, 336, 342, 345, 351, 346, 348, 338, 340, 353,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000826
Reid Spencer3da59db2006-11-27 01:05:10 +0000827 352, 342, 346, 348, 355, 343, 341, 351, 354, 356,
828 345, 357, 344, 352, 358, 360, 353, 354, 359, 355,
829 363, 362, 370, 364, 360, 356, 365, 366, 371, 363,
830 364, 358, 367, 368, 357, 365, 366, 359, 362, 379,
831 370, 367, 380, 381, 383, 384, 368, 388, 385, 391,
832 393, 371, 380, 392, 379, 394, 383, 385, 393, 395,
833 392, 397, 381, 398, 399, 400, 388, 403, 384, 399,
834 395, 404, 391, 401, 406, 407, 398, 408, 394, 410,
835 403, 411, 407, 409, 397, 412, 417, 427, 400, 421,
836 401, 406, 409, 416, 404, 422, 421, 416, 416, 411,
Chris Lattnere869eef2005-11-12 00:11:49 +0000837
Reid Spencer3da59db2006-11-27 01:05:10 +0000838 434, 410, 426, 412, 424, 408, 425, 426, 435, 417,
839 427, 422, 429, 424, 436, 425, 445, 438, 439, 429,
840 446, 434, 451, 452, 455, 435, 438, 453, 439, 445,
841 454, 436, 446, 457, 459, 453, 462, 451, 463, 464,
842 465, 455, 466, 454, 468, 452, 469, 470, 472, 471,
843 474, 466, 459, 468, 475, 465, 457, 462, 473, 463,
844 477, 478, 470, 469, 471, 464, 479, 473, 480, 472,
845 478, 479, 474, 480, 481, 482, 484, 475, 485, 483,
846 487, 490, 488, 481, 489, 477, 483, 492, 494, 485,
847 490, 493, 495, 499, 501, 503, 564, 562, 482, 484,
Chris Lattner75466192006-05-19 21:28:53 +0000848
Reid Spencer3da59db2006-11-27 01:05:10 +0000849 510, 495, 492, 501, 487, 488, 499, 489, 493, 502,
850 503, 494, 504, 506, 507, 508, 502, 513, 504, 507,
851 506, 514, 513, 510, 515, 517, 516, 518, 508, 519,
852 514, 516, 520, 521, 522, 523, 519, 524, 525, 527,
853 523, 517, 528, 525, 529, 530, 521, 515, 531, 522,
854 532, 533, 524, 527, 535, 520, 518, 531, 528, 532,
855 536, 537, 538, 529, 539, 542, 541, 543, 530, 536,
856 544, 546, 547, 551, 533, 541, 537, 538, 549, 539,
857 543, 547, 552, 535, 550, 553, 551, 544, 542, 546,
858 554, 550, 555, 549, 557, 556, 558, 559, 560, 552,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000859
Reid Spencer3da59db2006-11-27 01:05:10 +0000860 561, 563, 557, 558, 559, 567, 553, 573, 554, 548,
861 569, 545, 567, 540, 534, 555, 556, 526, 563, 569,
862 512, 511, 509, 561, 505, 500, 498, 560, 573, 576,
863 576, 576, 576, 577, 577, 579, 497, 579, 579, 496,
864 491, 486, 476, 467, 461, 460, 458, 456, 450, 449,
865 448, 447, 444, 443, 442, 441, 440, 437, 433, 432,
866 431, 430, 428, 423, 420, 419, 418, 415, 414, 413,
867 405, 402, 396, 390, 389, 387, 386, 382, 378, 377,
868 376, 375, 374, 373, 372, 369, 361, 350, 349, 347,
869 332, 329, 327, 324, 322, 317, 310, 309, 307, 305,
870
871 302, 299, 294, 287, 281, 278, 277, 276, 265, 264,
872 259, 243, 242, 241, 238, 226, 201, 195, 193, 185,
873 184, 181, 178, 177, 150, 143, 138, 136, 133, 130,
874 126, 122, 106, 90, 59, 39, 37, 8, 7, 3,
875 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
876 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
877 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
878 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
879 575, 575, 575, 575
Reid Spencer68a24bd2005-08-27 18:50:39 +0000880 } ;
881
Owen Anderson1dc69692006-10-18 02:21:48 +0000882static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
883static char *yy_full_match;
884static int yy_lp;
885#define REJECT \
886{ \
887*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
888yy_cp = yy_full_match; /* restore poss. backed-over text */ \
889++yy_lp; \
890goto find_rule; \
891}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000892#define yymore() yymore_used_but_not_detected
893#define YY_MORE_ADJ 0
894#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000895char *yytext;
Reid Spencer481169e2006-12-01 00:33:46 +0000896#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000897#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000898/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
899//
900// The LLVM Compiler Infrastructure
901//
902// This file was developed by the LLVM research group and is distributed under
903// the University of Illinois Open Source License. See LICENSE.TXT for details.
904//
905//===----------------------------------------------------------------------===//
906//
907// This file implements the flex scanner for LLVM assembly languages files.
908//
909//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000910#define YY_NEVER_INTERACTIVE 1
Reid Spencer481169e2006-12-01 00:33:46 +0000911#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000912#include "ParserInternals.h"
913#include "llvm/Module.h"
914#include <list>
915#include "llvmAsmParser.h"
916#include <cctype>
917#include <cstdlib>
918
919void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000920 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000921}
922void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000923 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000924}
925
Reid Spencer3ed469c2006-11-02 20:25:50 +0000926// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000927#define RET_TOK(type, Enum, sym) \
Reid Spencer3ed469c2006-11-02 20:25:50 +0000928 llvmAsmlval.type.opcode = Instruction::Enum; \
929 llvmAsmlval.type.obsolete = false; \
930 return sym
931
932// Construct a token value for an obsolete token
933#define RET_TOK_OBSOLETE(type, Enum, sym) \
934 llvmAsmlval.type.opcode = Instruction::Enum; \
935 llvmAsmlval.type.obsolete = true; \
936 return sym
937
Reid Spencer3da59db2006-11-27 01:05:10 +0000938// Construct a token value for an obsolete token
Reid Spencer481169e2006-12-01 00:33:46 +0000939#define RET_TY(CTYPE, SIGN, SYM) \
940 llvmAsmlval.TypeVal.type = new PATypeHolder(CTYPE); \
941 llvmAsmlval.TypeVal.signedness = SIGN; \
942 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000943
944namespace llvm {
945
946// TODO: All of the static identifiers are figured out by the lexer,
947// these should be hashed to reduce the lexer size
948
949
950// atoull - Convert an ascii string of decimal digits into the unsigned long
951// long representation... this does not have to do input error checking,
952// because we know that the input will be matched by a suitable regex...
953//
954static uint64_t atoull(const char *Buffer) {
955 uint64_t Result = 0;
956 for (; *Buffer; Buffer++) {
957 uint64_t OldRes = Result;
958 Result *= 10;
959 Result += *Buffer-'0';
960 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000961 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000962 }
963 return Result;
964}
965
966static uint64_t HexIntToVal(const char *Buffer) {
967 uint64_t Result = 0;
968 for (; *Buffer; ++Buffer) {
969 uint64_t OldRes = Result;
970 Result *= 16;
971 char C = *Buffer;
972 if (C >= '0' && C <= '9')
973 Result += C-'0';
974 else if (C >= 'A' && C <= 'F')
975 Result += C-'A'+10;
976 else if (C >= 'a' && C <= 'f')
977 Result += C-'a'+10;
978
979 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000980 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000981 }
982 return Result;
983}
984
985
986// HexToFP - Convert the ascii string in hexidecimal format to the floating
987// point representation of it.
988//
989static double HexToFP(const char *Buffer) {
990 // Behave nicely in the face of C TBAA rules... see:
991 // http://www.nullstone.com/htmls/category/aliastyp.htm
992 union {
993 uint64_t UI;
994 double FP;
995 } UIntToFP;
996 UIntToFP.UI = HexIntToVal(Buffer);
997
998 assert(sizeof(double) == sizeof(uint64_t) &&
999 "Data sizes incompatible on this target!");
1000 return UIntToFP.FP; // Cast Hex constant to double
1001}
1002
1003
1004// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
1005// appropriate character. If AllowNull is set to false, a \00 value will cause
1006// an exception to be thrown.
1007//
1008// If AllowNull is set to true, the return value of the function points to the
1009// last character of the string in memory.
1010//
1011char *UnEscapeLexed(char *Buffer, bool AllowNull) {
1012 char *BOut = Buffer;
1013 for (char *BIn = Buffer; *BIn; ) {
1014 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1015 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1016 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1017 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +00001018 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001019
1020 BIn[3] = Tmp; // Restore character
1021 BIn += 3; // Skip over handled chars
1022 ++BOut;
1023 } else {
1024 *BOut++ = *BIn++;
1025 }
1026 }
1027
1028 return BOut;
1029}
1030
1031} // End llvm namespace
1032
1033using namespace llvm;
1034
1035#define YY_NEVER_INTERACTIVE 1
1036/* Comments start with a ; and go till end of line */
1037/* Variable(Value) identifiers start with a % sign */
1038/* Label identifiers end with a colon */
1039/* Quoted names can contain any character except " and \ */
1040/* [PN]Integer: match positive and negative literal integer values that
1041 * are preceeded by a '%' character. These represent unnamed variable slots.
1042 */
1043/* E[PN]Integer: match positive and negative literal integer values */
1044/* FPConstant - A Floating point constant.
1045 */
1046/* HexFPConstant - Floating point constant represented in IEEE format as a
1047 * hexadecimal number for when exponential notation is not precise enough.
1048 */
1049/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1050 * it to deal with 64 bit numbers.
1051 */
Reid Spencer481169e2006-12-01 00:33:46 +00001052#line 1053 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001053
1054/* Macros after this point can all be overridden by user definitions in
1055 * section 1.
1056 */
1057
1058#ifndef YY_SKIP_YYWRAP
1059#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001060extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001061#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001062extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001063#endif
1064#endif
1065
Owen Anderson1dc69692006-10-18 02:21:48 +00001066#ifndef YY_NO_UNPUT
1067static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1068#endif
1069
Reid Spencer68a24bd2005-08-27 18:50:39 +00001070#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00001071static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001072#endif
1073
1074#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001075static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001076#endif
1077
1078#ifndef YY_NO_INPUT
1079#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001080static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001081#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001082static int input YY_PROTO(( void ));
1083#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001084#endif
1085
Owen Anderson1dc69692006-10-18 02:21:48 +00001086#if YY_STACK_USED
1087static int yy_start_stack_ptr = 0;
1088static int yy_start_stack_depth = 0;
1089static int *yy_start_stack = 0;
1090#ifndef YY_NO_PUSH_STATE
1091static void yy_push_state YY_PROTO(( int new_state ));
1092#endif
1093#ifndef YY_NO_POP_STATE
1094static void yy_pop_state YY_PROTO(( void ));
1095#endif
1096#ifndef YY_NO_TOP_STATE
1097static int yy_top_state YY_PROTO(( void ));
1098#endif
1099
1100#else
1101#define YY_NO_PUSH_STATE 1
1102#define YY_NO_POP_STATE 1
1103#define YY_NO_TOP_STATE 1
1104#endif
1105
1106#ifdef YY_MALLOC_DECL
1107YY_MALLOC_DECL
1108#else
1109#if __STDC__
1110#ifndef __cplusplus
1111#include <stdlib.h>
1112#endif
1113#else
1114/* Just try to get by without declaring the routines. This will fail
1115 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1116 * or sizeof(void*) != sizeof(int).
1117 */
1118#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001119#endif
1120
1121/* Amount of stuff to slurp up with each read. */
1122#ifndef YY_READ_BUF_SIZE
1123#define YY_READ_BUF_SIZE 8192
1124#endif
1125
1126/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001127
Reid Spencer68a24bd2005-08-27 18:50:39 +00001128#ifndef ECHO
1129/* This used to be an fputs(), but since the string might contain NUL's,
1130 * we now use fwrite().
1131 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001132#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001133#endif
1134
1135/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1136 * is returned in "result".
1137 */
1138#ifndef YY_INPUT
1139#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001140 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001141 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001142 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001143 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001144 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001145 buf[n] = (char) c; \
1146 if ( c == '\n' ) \
1147 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001148 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001149 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1150 result = n; \
1151 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001152 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1153 && ferror( yyin ) ) \
1154 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001155#endif
1156
1157/* No semi-colon after return; correct usage is to write "yyterminate();" -
1158 * we don't want an extra ';' after the "return" because that will cause
1159 * some compilers to complain about unreachable statements.
1160 */
1161#ifndef yyterminate
1162#define yyterminate() return YY_NULL
1163#endif
1164
1165/* Number of entries by which start-condition stack grows. */
1166#ifndef YY_START_STACK_INCR
1167#define YY_START_STACK_INCR 25
1168#endif
1169
1170/* Report a fatal error. */
1171#ifndef YY_FATAL_ERROR
1172#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1173#endif
1174
1175/* Default declaration of generated scanner - a define so the user can
1176 * easily add parameters.
1177 */
1178#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001179#define YY_DECL int yylex YY_PROTO(( void ))
1180#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001181
Owen Anderson1dc69692006-10-18 02:21:48 +00001182/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001183 * have been set up.
1184 */
1185#ifndef YY_USER_ACTION
1186#define YY_USER_ACTION
1187#endif
1188
1189/* Code executed at the end of each rule. */
1190#ifndef YY_BREAK
1191#define YY_BREAK break;
1192#endif
1193
1194#define YY_RULE_SETUP \
1195 YY_USER_ACTION
1196
1197YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001198 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199 register yy_state_type yy_current_state;
Reid Spencer3da59db2006-11-27 01:05:10 +00001200 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001201 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001202
Reid Spencer481169e2006-12-01 00:33:46 +00001203#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001204
1205
Reid Spencer481169e2006-12-01 00:33:46 +00001206#line 1207 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001207
Owen Anderson1dc69692006-10-18 02:21:48 +00001208 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001209 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001210 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001211
1212#ifdef YY_USER_INIT
1213 YY_USER_INIT;
1214#endif
1215
Owen Anderson1dc69692006-10-18 02:21:48 +00001216 if ( ! yy_start )
1217 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001218
Owen Anderson1dc69692006-10-18 02:21:48 +00001219 if ( ! yyin )
1220 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001221
Owen Anderson1dc69692006-10-18 02:21:48 +00001222 if ( ! yyout )
1223 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001224
Owen Anderson1dc69692006-10-18 02:21:48 +00001225 if ( ! yy_current_buffer )
1226 yy_current_buffer =
1227 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001228
Owen Anderson1dc69692006-10-18 02:21:48 +00001229 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230 }
1231
1232 while ( 1 ) /* loops until end-of-file is reached */
1233 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001234 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001235
Owen Anderson1dc69692006-10-18 02:21:48 +00001236 /* Support of yytext. */
1237 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001238
1239 /* yy_bp points to the position in yy_ch_buf of the start of
1240 * the current run.
1241 */
1242 yy_bp = yy_cp;
1243
Owen Anderson1dc69692006-10-18 02:21:48 +00001244 yy_current_state = yy_start;
1245 yy_state_ptr = yy_state_buf;
1246 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001247yy_match:
1248 do
1249 {
1250 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1251 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1252 {
1253 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3da59db2006-11-27 01:05:10 +00001254 if ( yy_current_state >= 576 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001255 yy_c = yy_meta[(unsigned int) yy_c];
1256 }
1257 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001258 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001259 ++yy_cp;
1260 }
Reid Spencer3da59db2006-11-27 01:05:10 +00001261 while ( yy_current_state != 575 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001262
1263yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001264 yy_current_state = *--yy_state_ptr;
1265 yy_lp = yy_accept[yy_current_state];
1266find_rule: /* we branch to this label when backing up */
1267 for ( ; ; ) /* until we find what rule we matched */
1268 {
1269 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1270 {
1271 yy_act = yy_acclist[yy_lp];
1272 {
1273 yy_full_match = yy_cp;
1274 break;
1275 }
1276 }
1277 --yy_cp;
1278 yy_current_state = *--yy_state_ptr;
1279 yy_lp = yy_accept[yy_current_state];
1280 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001281
1282 YY_DO_BEFORE_ACTION;
1283
Owen Anderson1dc69692006-10-18 02:21:48 +00001284 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001285 {
1286 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001287 for ( yyl = 0; yyl < yyleng; ++yyl )
1288 if ( yytext[yyl] == '\n' )
1289 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001290 }
1291
1292do_action: /* This label is used only to access EOF actions. */
1293
Owen Anderson1dc69692006-10-18 02:21:48 +00001294
Reid Spencer68a24bd2005-08-27 18:50:39 +00001295 switch ( yy_act )
1296 { /* beginning of action switch */
1297case 1:
1298YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001299#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001300{ /* Ignore comments for now */ }
1301 YY_BREAK
1302case 2:
1303YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001304#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001305{ return BEGINTOK; }
1306 YY_BREAK
1307case 3:
1308YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001309#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001310{ return ENDTOK; }
1311 YY_BREAK
1312case 4:
1313YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001314#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001315{ return TRUETOK; }
1316 YY_BREAK
1317case 5:
1318YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001319#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001320{ return FALSETOK; }
1321 YY_BREAK
1322case 6:
1323YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001324#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001325{ return DECLARE; }
1326 YY_BREAK
1327case 7:
1328YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001329#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001330{ return GLOBAL; }
1331 YY_BREAK
1332case 8:
1333YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001334#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001335{ return CONSTANT; }
1336 YY_BREAK
1337case 9:
1338YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001339#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001340{ return INTERNAL; }
1341 YY_BREAK
1342case 10:
1343YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001344#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001345{ return LINKONCE; }
1346 YY_BREAK
1347case 11:
1348YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001349#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001350{ return WEAK; }
1351 YY_BREAK
1352case 12:
1353YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001354#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001355{ return APPENDING; }
1356 YY_BREAK
1357case 13:
1358YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001359#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001360{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001361 YY_BREAK
1362case 14:
1363YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001364#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001365{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001366 YY_BREAK
1367case 15:
1368YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001369#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001370{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001371 YY_BREAK
1372case 16:
1373YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001374#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001375{ return EXTERNAL; } /* Deprecated, turn into external */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001376 YY_BREAK
1377case 17:
1378YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001379#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001380{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001381 YY_BREAK
1382case 18:
1383YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001384#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001385{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001386 YY_BREAK
1387case 19:
1388YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001389#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001390{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001391 YY_BREAK
1392case 20:
1393YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001394#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001395{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001396 YY_BREAK
1397case 21:
1398YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001399#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001400{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001401 YY_BREAK
1402case 22:
1403YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001404#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001405{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001406 YY_BREAK
1407case 23:
1408YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001409#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001410{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001411 YY_BREAK
1412case 24:
1413YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001414#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001415{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001416 YY_BREAK
1417case 25:
1418YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001419#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001420{ return NOT; } /* Deprecated, turned into XOR */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001421 YY_BREAK
1422case 26:
1423YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001424#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001425{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001426 YY_BREAK
1427case 27:
1428YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001429#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001430{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001431 YY_BREAK
1432case 28:
1433YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001434#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001435{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001436 YY_BREAK
1437case 29:
1438YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001439#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001440{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001441 YY_BREAK
1442case 30:
1443YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001444#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001445{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001446 YY_BREAK
1447case 31:
1448YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001449#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001450{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001451 YY_BREAK
1452case 32:
1453YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001454#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Chris Lattner1ae022f2006-10-22 06:08:13 +00001455{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001456 YY_BREAK
1457case 33:
1458YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001459#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001460{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001461 YY_BREAK
1462case 34:
1463YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001464#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001465{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001466 YY_BREAK
1467case 35:
1468YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001469#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001470{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001471 YY_BREAK
1472case 36:
1473YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001474#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001475{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001476 YY_BREAK
1477case 37:
1478YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001479#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001480{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001481 YY_BREAK
1482case 38:
1483YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001484#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001485{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001486 YY_BREAK
1487case 39:
1488YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001489#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001490{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001491 YY_BREAK
1492case 40:
1493YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001494#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001495{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001496 YY_BREAK
1497case 41:
1498YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001499#line 238 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001500{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001501 YY_BREAK
1502case 42:
1503YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001504#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001505{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001506 YY_BREAK
1507case 43:
1508YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001509#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001510{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001511 YY_BREAK
1512case 44:
1513YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001514#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001515{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001516 YY_BREAK
1517case 45:
1518YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001519#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001520{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001521 YY_BREAK
1522case 46:
1523YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001524#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001525{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001526 YY_BREAK
1527case 47:
1528YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001529#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001530{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001531 YY_BREAK
1532case 48:
1533YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001534#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1535{ RET_TY(Type::VoidTy, isSignless, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001536 YY_BREAK
1537case 49:
1538YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001539#line 247 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1540{ RET_TY(Type::BoolTy, isSignless, BOOL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001541 YY_BREAK
1542case 50:
1543YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001544#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1545{ RET_TY(Type::SByteTy, isSigned, SBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001546 YY_BREAK
1547case 51:
1548YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001549#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1550{ RET_TY(Type::UByteTy, isUnsigned, UBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001551 YY_BREAK
1552case 52:
1553YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001554#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1555{ RET_TY(Type::ShortTy, isSigned, SHORT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001556 YY_BREAK
1557case 53:
1558YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001559#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1560{ RET_TY(Type::UShortTy,isUnsigned, USHORT);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001561 YY_BREAK
1562case 54:
1563YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001564#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1565{ RET_TY(Type::IntTy, isSigned, INT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001566 YY_BREAK
1567case 55:
1568YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001569#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1570{ RET_TY(Type::UIntTy, isUnsigned, UINT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001571 YY_BREAK
1572case 56:
1573YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001574#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1575{ RET_TY(Type::LongTy, isSigned, LONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001576 YY_BREAK
1577case 57:
1578YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001579#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1580{ RET_TY(Type::ULongTy, isUnsigned, ULONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001581 YY_BREAK
1582case 58:
1583YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001584#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1585{ RET_TY(Type::FloatTy, isSignless, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001586 YY_BREAK
1587case 59:
1588YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001589#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1590{ RET_TY(Type::DoubleTy,isSignless, DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001591 YY_BREAK
1592case 60:
1593YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001594#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1595{ RET_TY(Type::LabelTy, isSignless, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001596 YY_BREAK
1597case 61:
1598YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001599#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001600{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001601 YY_BREAK
1602case 62:
1603YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001604#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001605{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001606 YY_BREAK
1607case 63:
1608YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001609#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001610{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001611 YY_BREAK
1612case 64:
1613YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001614#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001615{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001616 YY_BREAK
1617case 65:
1618YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001619#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001620{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001621 YY_BREAK
1622case 66:
1623YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001624#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001625{ RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001626 YY_BREAK
1627case 67:
1628YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001629#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001630{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001631 YY_BREAK
1632case 68:
1633YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001634#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001635{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001636 YY_BREAK
1637case 69:
1638YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001639#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001640{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001641 YY_BREAK
1642case 70:
1643YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001644#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001645{ RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001646 YY_BREAK
1647case 71:
1648YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001649#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001650{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001651 YY_BREAK
1652case 72:
1653YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001654#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001655{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001656 YY_BREAK
1657case 73:
1658YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001659#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001660{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001661 YY_BREAK
1662case 74:
1663YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001664#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001665{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001666 YY_BREAK
1667case 75:
1668YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001669#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001670{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001671 YY_BREAK
1672case 76:
1673YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001674#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001675{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001676 YY_BREAK
1677case 77:
1678YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001679#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001680{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001681 YY_BREAK
1682case 78:
1683YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001684#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001685{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001686 YY_BREAK
1687case 79:
1688YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001689#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001690{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001691 YY_BREAK
1692case 80:
1693YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001694#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001695{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001696 YY_BREAK
1697case 81:
1698YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001699#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001700{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001701 YY_BREAK
1702case 82:
1703YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001704#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001705{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001706 YY_BREAK
1707case 83:
1708YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001709#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001710{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001711 YY_BREAK
1712case 84:
1713YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001714#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3ed469c2006-11-02 20:25:50 +00001715{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001716 YY_BREAK
1717case 85:
1718YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001719#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001720{ RET_TOK_OBSOLETE(CastOpVal, Trunc, TRUNC); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001721 YY_BREAK
1722case 86:
1723YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001724#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001725{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Nate Begeman14b05292005-11-05 09:21:28 +00001726 YY_BREAK
1727case 87:
1728YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001729#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001730{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Chris Lattnere869eef2005-11-12 00:11:49 +00001731 YY_BREAK
1732case 88:
1733YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001734#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001735{ RET_TOK(CastOpVal, SExt, SEXT); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001736 YY_BREAK
1737case 89:
1738YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001739#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001740{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001741 YY_BREAK
1742case 90:
1743YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001744#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001745{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Chris Lattner8335e842006-01-23 23:05:42 +00001746 YY_BREAK
1747case 91:
1748YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001749#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001750{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Chris Lattner66316012006-01-24 04:14:29 +00001751 YY_BREAK
1752case 92:
1753YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001754#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001755{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001756 YY_BREAK
1757case 93:
1758YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001759#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001760{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001761 YY_BREAK
1762case 94:
1763YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001764#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001765{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Chris Lattner75466192006-05-19 21:28:53 +00001766 YY_BREAK
1767case 95:
1768YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001769#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001770{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001771 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001772case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001773YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001774#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001775{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001776 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001777case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001778YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001779#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001780{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001781 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001782case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001783YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001784#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001785{ RET_TOK(OtherOpVal, Select, SELECT); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001786 YY_BREAK
1787case 99:
1788YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001789#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001790{ RET_TOK(OtherOpVal, Shl, SHL); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001791 YY_BREAK
1792case 100:
1793YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001794#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001795{ RET_TOK_OBSOLETE(OtherOpVal, LShr, LSHR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001796 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001797case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001798YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001799#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001800{ RET_TOK(OtherOpVal, LShr, LSHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001801 YY_BREAK
1802case 102:
1803YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001804#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001805{ RET_TOK(OtherOpVal, AShr, ASHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001806 YY_BREAK
1807case 103:
1808YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001809#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001810{ return VANEXT_old; }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001811 YY_BREAK
1812case 104:
1813YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001814#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001815{ return VAARG_old; }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001816 YY_BREAK
1817case 105:
1818YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001819#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001820{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001821 YY_BREAK
1822case 106:
1823YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001824#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001825{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001826 YY_BREAK
1827case 107:
1828YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001829#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001830{ RET_TOK(TermOpVal, Br, BR); }
1831 YY_BREAK
1832case 108:
1833YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001834#line 308 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001835{ RET_TOK(TermOpVal, Switch, SWITCH); }
1836 YY_BREAK
1837case 109:
1838YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001839#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001840{ RET_TOK(TermOpVal, Invoke, INVOKE); }
1841 YY_BREAK
1842case 110:
1843YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001844#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001845{ RET_TOK(TermOpVal, Unwind, UNWIND); }
1846 YY_BREAK
1847case 111:
1848YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001849#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001850{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
1851 YY_BREAK
1852case 112:
1853YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001854#line 313 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001855{ RET_TOK(MemOpVal, Malloc, MALLOC); }
1856 YY_BREAK
1857case 113:
1858YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001859#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001860{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
1861 YY_BREAK
1862case 114:
1863YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001864#line 315 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001865{ RET_TOK(MemOpVal, Free, FREE); }
1866 YY_BREAK
1867case 115:
1868YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001869#line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001870{ RET_TOK(MemOpVal, Load, LOAD); }
1871 YY_BREAK
1872case 116:
1873YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001874#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001875{ RET_TOK(MemOpVal, Store, STORE); }
1876 YY_BREAK
1877case 117:
1878YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001879#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001880{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1881 YY_BREAK
1882case 118:
1883YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001884#line 320 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001885{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1886 YY_BREAK
1887case 119:
1888YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001889#line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001890{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1891 YY_BREAK
1892case 120:
1893YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001894#line 322 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer3da59db2006-11-27 01:05:10 +00001895{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1896 YY_BREAK
1897case 121:
1898YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001899#line 325 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001900{
Owen Anderson1dc69692006-10-18 02:21:48 +00001901 UnEscapeLexed(yytext+1);
1902 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1903 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001904 }
1905 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001906case 122:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001907YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001908#line 330 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001909{
Owen Anderson1dc69692006-10-18 02:21:48 +00001910 yytext[strlen(yytext)-1] = 0; // nuke colon
1911 UnEscapeLexed(yytext);
1912 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001913 return LABELSTR;
1914 }
1915 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001916case 123:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001917YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001918#line 336 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001919{
1920 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1921 UnEscapeLexed(yytext+1);
1922 llvmAsmlval.StrVal = strdup(yytext+1);
1923 return LABELSTR;
1924 }
1925 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001926case 124:
Owen Anderson1dc69692006-10-18 02:21:48 +00001927YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001928#line 343 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001929{ // Note that we cannot unescape a string constant here! The
1930 // string constant might contain a \00 which would not be
1931 // understood by the string stuff. It is valid to make a
1932 // [sbyte] c"Hello World\00" constant, for example.
1933 //
Owen Anderson1dc69692006-10-18 02:21:48 +00001934 yytext[strlen(yytext)-1] = 0; // nuke end quote
1935 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001936 return STRINGCONSTANT;
1937 }
1938 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001939case 125:
Chris Lattner75466192006-05-19 21:28:53 +00001940YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001941#line 354 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001942{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1943 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001944case 126:
Owen Anderson1dc69692006-10-18 02:21:48 +00001945YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001946#line 355 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001947{
Owen Anderson1dc69692006-10-18 02:21:48 +00001948 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001949 // +1: we have bigger negative range
1950 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001951 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001952 llvmAsmlval.SInt64Val = -Val;
1953 return ESINT64VAL;
1954 }
1955 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001956case 127:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001957YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001958#line 363 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001959{
Owen Anderson1dc69692006-10-18 02:21:48 +00001960 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1961 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
1962 }
1963 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001964case 128:
Owen Anderson1dc69692006-10-18 02:21:48 +00001965YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001966#line 368 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001967{
1968 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001969 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001970 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001971 llvmAsmlval.UIntVal = unsigned(Val);
1972 return UINTVAL;
1973 }
1974 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001975case 129:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001976YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001977#line 375 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001978{
Owen Anderson1dc69692006-10-18 02:21:48 +00001979 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001980 // +1: we have bigger negative range
1981 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001982 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001983 llvmAsmlval.SIntVal = (int)-Val;
1984 return SINTVAL;
1985 }
1986 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001987case 130:
Chris Lattner75466192006-05-19 21:28:53 +00001988YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001989#line 384 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001990{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1991 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00001992case 131:
Owen Anderson1dc69692006-10-18 02:21:48 +00001993YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00001994#line 385 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001995{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001996 YY_BREAK
1997case YY_STATE_EOF(INITIAL):
Reid Spencer481169e2006-12-01 00:33:46 +00001998#line 387 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001999{
2000 /* Make sure to free the internal buffers for flex when we are
2001 * done reading our input!
2002 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002003 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002004 return EOF;
2005 }
2006 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00002007case 132:
Chris Lattner75466192006-05-19 21:28:53 +00002008YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00002009#line 395 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002010{ /* Ignore whitespace */ }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002011 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00002012case 133:
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002013YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00002014#line 396 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002015{ return yytext[0]; }
2016 YY_BREAK
Reid Spencer3da59db2006-11-27 01:05:10 +00002017case 134:
Owen Anderson1dc69692006-10-18 02:21:48 +00002018YY_RULE_SETUP
Reid Spencer481169e2006-12-01 00:33:46 +00002019#line 398 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002020YY_FATAL_ERROR( "flex scanner jammed" );
2021 YY_BREAK
Reid Spencer481169e2006-12-01 00:33:46 +00002022#line 2023 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002023
2024 case YY_END_OF_BUFFER:
2025 {
2026 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002027 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002028
2029 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002030 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002031 YY_RESTORE_YY_MORE_OFFSET
2032
Owen Anderson1dc69692006-10-18 02:21:48 +00002033 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002034 {
2035 /* We're scanning a new file or input source. It's
2036 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00002037 * just pointed yyin at a new source and called
2038 * yylex(). If so, then we have to assure
2039 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002040 * globals. Here is the right place to do so, because
2041 * this is the first action (other than possibly a
2042 * back-up) that will match for the new input source.
2043 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002044 yy_n_chars = yy_current_buffer->yy_n_chars;
2045 yy_current_buffer->yy_input_file = yyin;
2046 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002047 }
2048
2049 /* Note that here we test for yy_c_buf_p "<=" to the position
2050 * of the first EOB in the buffer, since yy_c_buf_p will
2051 * already have been incremented past the NUL character
2052 * (since all states make transitions on EOB to the
2053 * end-of-buffer state). Contrast this with the test
2054 * in input().
2055 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002056 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002057 { /* This was really a NUL. */
2058 yy_state_type yy_next_state;
2059
Owen Anderson1dc69692006-10-18 02:21:48 +00002060 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002061
Owen Anderson1dc69692006-10-18 02:21:48 +00002062 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002063
2064 /* Okay, we're now positioned to make the NUL
2065 * transition. We couldn't have
2066 * yy_get_previous_state() go ahead and do it
2067 * for us because it doesn't know how to deal
2068 * with the possibility of jamming (and we don't
2069 * want to build jamming into it because then it
2070 * will run more slowly).
2071 */
2072
2073 yy_next_state = yy_try_NUL_trans( yy_current_state );
2074
Owen Anderson1dc69692006-10-18 02:21:48 +00002075 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002076
2077 if ( yy_next_state )
2078 {
2079 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002080 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002081 yy_current_state = yy_next_state;
2082 goto yy_match;
2083 }
2084
2085 else
2086 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002087 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002088 goto yy_find_action;
2089 }
2090 }
2091
Owen Anderson1dc69692006-10-18 02:21:48 +00002092 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002093 {
2094 case EOB_ACT_END_OF_FILE:
2095 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002096 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002097
Owen Anderson1dc69692006-10-18 02:21:48 +00002098 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002099 {
2100 /* Note: because we've taken care in
2101 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00002102 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002103 * yy_c_buf_p so that if some total
2104 * hoser (like flex itself) wants to
2105 * call the scanner after we return the
2106 * YY_NULL, it'll still work - another
2107 * YY_NULL will get returned.
2108 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002109 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002110
2111 yy_act = YY_STATE_EOF(YY_START);
2112 goto do_action;
2113 }
2114
2115 else
2116 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002117 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002118 YY_NEW_FILE;
2119 }
2120 break;
2121 }
2122
2123 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002124 yy_c_buf_p =
2125 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002126
Owen Anderson1dc69692006-10-18 02:21:48 +00002127 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002128
Owen Anderson1dc69692006-10-18 02:21:48 +00002129 yy_cp = yy_c_buf_p;
2130 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002131 goto yy_match;
2132
2133 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00002134 yy_c_buf_p =
2135 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002136
Owen Anderson1dc69692006-10-18 02:21:48 +00002137 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002138
Owen Anderson1dc69692006-10-18 02:21:48 +00002139 yy_cp = yy_c_buf_p;
2140 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002141 goto yy_find_action;
2142 }
2143 break;
2144 }
2145
2146 default:
2147 YY_FATAL_ERROR(
2148 "fatal flex scanner internal error--no action found" );
2149 } /* end of action switch */
2150 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00002151 } /* end of yylex */
2152
Reid Spencer68a24bd2005-08-27 18:50:39 +00002153
2154/* yy_get_next_buffer - try to read in a new buffer
2155 *
2156 * Returns a code representing an action:
2157 * EOB_ACT_LAST_MATCH -
2158 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2159 * EOB_ACT_END_OF_FILE - end of file
2160 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002161
2162static int yy_get_next_buffer()
2163 {
2164 register char *dest = yy_current_buffer->yy_ch_buf;
2165 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002166 register int number_to_move, i;
2167 int ret_val;
2168
Owen Anderson1dc69692006-10-18 02:21:48 +00002169 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002170 YY_FATAL_ERROR(
2171 "fatal flex scanner internal error--end of buffer missed" );
2172
Owen Anderson1dc69692006-10-18 02:21:48 +00002173 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002174 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002175 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002176 {
2177 /* We matched a single character, the EOB, so
2178 * treat this as a final EOF.
2179 */
2180 return EOB_ACT_END_OF_FILE;
2181 }
2182
2183 else
2184 {
2185 /* We matched some text prior to the EOB, first
2186 * process it.
2187 */
2188 return EOB_ACT_LAST_MATCH;
2189 }
2190 }
2191
2192 /* Try to read more data. */
2193
2194 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002195 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002196
2197 for ( i = 0; i < number_to_move; ++i )
2198 *(dest++) = *(source++);
2199
Owen Anderson1dc69692006-10-18 02:21:48 +00002200 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002201 /* don't do the read, it's not guaranteed to return an EOF,
2202 * just force an EOF
2203 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002204 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002205
2206 else
2207 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002208 int num_to_read =
2209 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002210
2211 while ( num_to_read <= 0 )
2212 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002213#ifdef YY_USES_REJECT
2214 YY_FATAL_ERROR(
2215"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2216#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002217
2218 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002219 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002220
2221 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002222 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223
2224 if ( b->yy_is_our_buffer )
2225 {
2226 int new_size = b->yy_buf_size * 2;
2227
2228 if ( new_size <= 0 )
2229 b->yy_buf_size += b->yy_buf_size / 8;
2230 else
2231 b->yy_buf_size *= 2;
2232
2233 b->yy_ch_buf = (char *)
2234 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002235 yy_flex_realloc( (void *) b->yy_ch_buf,
2236 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002237 }
2238 else
2239 /* Can't grow it, we don't own it. */
2240 b->yy_ch_buf = 0;
2241
2242 if ( ! b->yy_ch_buf )
2243 YY_FATAL_ERROR(
2244 "fatal error - scanner input buffer overflow" );
2245
Owen Anderson1dc69692006-10-18 02:21:48 +00002246 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002247
Owen Anderson1dc69692006-10-18 02:21:48 +00002248 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002249 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002250#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002251 }
2252
2253 if ( num_to_read > YY_READ_BUF_SIZE )
2254 num_to_read = YY_READ_BUF_SIZE;
2255
2256 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002257 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2258 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002259
Owen Anderson1dc69692006-10-18 02:21:48 +00002260 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002261 }
2262
Owen Anderson1dc69692006-10-18 02:21:48 +00002263 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002264 {
2265 if ( number_to_move == YY_MORE_ADJ )
2266 {
2267 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002268 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002269 }
2270
2271 else
2272 {
2273 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002274 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002275 YY_BUFFER_EOF_PENDING;
2276 }
2277 }
2278
2279 else
2280 ret_val = EOB_ACT_CONTINUE_SCAN;
2281
Owen Anderson1dc69692006-10-18 02:21:48 +00002282 yy_n_chars += number_to_move;
2283 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2284 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002285
Owen Anderson1dc69692006-10-18 02:21:48 +00002286 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002287
2288 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002289 }
2290
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291
2292/* yy_get_previous_state - get the state just before the EOB char was reached */
2293
Owen Anderson1dc69692006-10-18 02:21:48 +00002294static yy_state_type yy_get_previous_state()
2295 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002296 register yy_state_type yy_current_state;
2297 register char *yy_cp;
2298
Owen Anderson1dc69692006-10-18 02:21:48 +00002299 yy_current_state = yy_start;
2300 yy_state_ptr = yy_state_buf;
2301 *yy_state_ptr++ = yy_current_state;
2302
2303 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002304 {
2305 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2306 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2307 {
2308 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3da59db2006-11-27 01:05:10 +00002309 if ( yy_current_state >= 576 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002310 yy_c = yy_meta[(unsigned int) yy_c];
2311 }
2312 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002313 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002314 }
2315
2316 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002317 }
2318
Reid Spencer68a24bd2005-08-27 18:50:39 +00002319
2320/* yy_try_NUL_trans - try to make a transition on the NUL character
2321 *
2322 * synopsis
2323 * next_state = yy_try_NUL_trans( current_state );
2324 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002325
2326#ifdef YY_USE_PROTOS
2327static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2328#else
2329static yy_state_type yy_try_NUL_trans( yy_current_state )
2330yy_state_type yy_current_state;
2331#endif
2332 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002333 register int yy_is_jam;
2334
2335 register YY_CHAR yy_c = 1;
2336 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2337 {
2338 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer3da59db2006-11-27 01:05:10 +00002339 if ( yy_current_state >= 576 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002340 yy_c = yy_meta[(unsigned int) yy_c];
2341 }
2342 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer3da59db2006-11-27 01:05:10 +00002343 yy_is_jam = (yy_current_state == 575);
Owen Anderson1dc69692006-10-18 02:21:48 +00002344 if ( ! yy_is_jam )
2345 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002346
2347 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002348 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002349
2350
Owen Anderson1dc69692006-10-18 02:21:48 +00002351#ifndef YY_NO_UNPUT
2352#ifdef YY_USE_PROTOS
2353static inline void yyunput( int c, register char *yy_bp )
2354#else
2355static inline void yyunput( c, yy_bp )
2356int c;
2357register char *yy_bp;
2358#endif
2359 {
2360 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002361
Owen Anderson1dc69692006-10-18 02:21:48 +00002362 /* undo effects of setting up yytext */
2363 *yy_cp = yy_hold_char;
2364
2365 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002366 { /* need to shift things up to make room */
2367 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002368 register int number_to_move = yy_n_chars + 2;
2369 register char *dest = &yy_current_buffer->yy_ch_buf[
2370 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002371 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002372 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002373
Owen Anderson1dc69692006-10-18 02:21:48 +00002374 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002375 *--dest = *--source;
2376
2377 yy_cp += (int) (dest - source);
2378 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002379 yy_current_buffer->yy_n_chars =
2380 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002381
Owen Anderson1dc69692006-10-18 02:21:48 +00002382 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002383 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2384 }
2385
2386 *--yy_cp = (char) c;
2387
Owen Anderson1dc69692006-10-18 02:21:48 +00002388 if ( c == '\n' )
2389 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002390
Owen Anderson1dc69692006-10-18 02:21:48 +00002391 yytext_ptr = yy_bp;
2392 yy_hold_char = *yy_cp;
2393 yy_c_buf_p = yy_cp;
2394 }
2395#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002396
Owen Anderson1dc69692006-10-18 02:21:48 +00002397
Reid Spencer3da59db2006-11-27 01:05:10 +00002398#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002399#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002400static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002401#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002402static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002403#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002404 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405 int c;
2406
Owen Anderson1dc69692006-10-18 02:21:48 +00002407 *yy_c_buf_p = yy_hold_char;
2408
2409 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002410 {
2411 /* yy_c_buf_p now points to the character we want to return.
2412 * If this occurs *before* the EOB characters, then it's a
2413 * valid NUL; if not, then we've hit the end of the buffer.
2414 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002415 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002416 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002417 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002418
2419 else
2420 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002421 int offset = yy_c_buf_p - yytext_ptr;
2422 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002423
Owen Anderson1dc69692006-10-18 02:21:48 +00002424 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002425 {
2426 case EOB_ACT_LAST_MATCH:
2427 /* This happens because yy_g_n_b()
2428 * sees that we've accumulated a
2429 * token and flags that we need to
2430 * try matching the token before
2431 * proceeding. But for input(),
2432 * there's no matching to consider.
2433 * So convert the EOB_ACT_LAST_MATCH
2434 * to EOB_ACT_END_OF_FILE.
2435 */
2436
2437 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002438 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002439
Owen Anderson1dc69692006-10-18 02:21:48 +00002440 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002441
2442 case EOB_ACT_END_OF_FILE:
2443 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002444 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002445 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002446
Owen Anderson1dc69692006-10-18 02:21:48 +00002447 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002448 YY_NEW_FILE;
2449#ifdef __cplusplus
2450 return yyinput();
2451#else
2452 return input();
2453#endif
2454 }
2455
2456 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002457 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002458 break;
2459 }
2460 }
2461 }
2462
Owen Anderson1dc69692006-10-18 02:21:48 +00002463 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2464 *yy_c_buf_p = '\0'; /* preserve yytext */
2465 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002466
2467 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002468 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002469
2470 return c;
2471 }
Reid Spencer3da59db2006-11-27 01:05:10 +00002472#endif /* YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002473
Owen Anderson1dc69692006-10-18 02:21:48 +00002474#ifdef YY_USE_PROTOS
2475void yyrestart( FILE *input_file )
2476#else
2477void yyrestart( input_file )
2478FILE *input_file;
2479#endif
2480 {
2481 if ( ! yy_current_buffer )
2482 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2483
2484 yy_init_buffer( yy_current_buffer, input_file );
2485 yy_load_buffer_state();
2486 }
2487
2488
2489#ifdef YY_USE_PROTOS
2490void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2491#else
2492void yy_switch_to_buffer( new_buffer )
2493YY_BUFFER_STATE new_buffer;
2494#endif
2495 {
2496 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002497 return;
2498
Owen Anderson1dc69692006-10-18 02:21:48 +00002499 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002500 {
2501 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002502 *yy_c_buf_p = yy_hold_char;
2503 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2504 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002505 }
2506
Owen Anderson1dc69692006-10-18 02:21:48 +00002507 yy_current_buffer = new_buffer;
2508 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002509
2510 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002511 * EOF (yywrap()) processing, but the only time this flag
2512 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002513 * to go ahead and always set it.
2514 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002515 yy_did_buffer_switch_on_eof = 1;
2516 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002517
2518
Owen Anderson1dc69692006-10-18 02:21:48 +00002519#ifdef YY_USE_PROTOS
2520void yy_load_buffer_state( void )
2521#else
2522void yy_load_buffer_state()
2523#endif
2524 {
2525 yy_n_chars = yy_current_buffer->yy_n_chars;
2526 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2527 yyin = yy_current_buffer->yy_input_file;
2528 yy_hold_char = *yy_c_buf_p;
2529 }
2530
2531
2532#ifdef YY_USE_PROTOS
2533YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2534#else
2535YY_BUFFER_STATE yy_create_buffer( file, size )
2536FILE *file;
2537int size;
2538#endif
2539 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002540 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002541
2542 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002543 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002544 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002545
2546 b->yy_buf_size = size;
2547
2548 /* yy_ch_buf has to be 2 characters longer than the size given because
2549 * we need to put in 2 end-of-buffer characters.
2550 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002551 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002552 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002553 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002554
2555 b->yy_is_our_buffer = 1;
2556
Owen Anderson1dc69692006-10-18 02:21:48 +00002557 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002558
2559 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002560 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002561
Owen Anderson1dc69692006-10-18 02:21:48 +00002562
2563#ifdef YY_USE_PROTOS
2564void yy_delete_buffer( YY_BUFFER_STATE b )
2565#else
2566void yy_delete_buffer( b )
2567YY_BUFFER_STATE b;
2568#endif
2569 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002570 if ( ! b )
2571 return;
2572
Owen Anderson1dc69692006-10-18 02:21:48 +00002573 if ( b == yy_current_buffer )
2574 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002575
2576 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002577 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002578
Owen Anderson1dc69692006-10-18 02:21:48 +00002579 yy_flex_free( (void *) b );
2580 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002581
2582
Owen Anderson1dc69692006-10-18 02:21:48 +00002583
2584#ifdef YY_USE_PROTOS
2585void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2586#else
2587void yy_init_buffer( b, file )
2588YY_BUFFER_STATE b;
2589FILE *file;
2590#endif
2591
2592
2593 {
2594 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002595
2596 b->yy_input_file = file;
2597 b->yy_fill_buffer = 1;
2598
Owen Anderson1dc69692006-10-18 02:21:48 +00002599#if YY_ALWAYS_INTERACTIVE
2600 b->yy_is_interactive = 1;
2601#else
2602#if YY_NEVER_INTERACTIVE
2603 b->yy_is_interactive = 0;
2604#else
2605 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2606#endif
2607#endif
2608 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002609
2610
Owen Anderson1dc69692006-10-18 02:21:48 +00002611#ifdef YY_USE_PROTOS
2612void yy_flush_buffer( YY_BUFFER_STATE b )
2613#else
2614void yy_flush_buffer( b )
2615YY_BUFFER_STATE b;
2616#endif
2617
2618 {
2619 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002620 return;
2621
2622 b->yy_n_chars = 0;
2623
2624 /* We always need two end-of-buffer characters. The first causes
2625 * a transition to the end-of-buffer state. The second causes
2626 * a jam in that state.
2627 */
2628 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2629 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2630
2631 b->yy_buf_pos = &b->yy_ch_buf[0];
2632
2633 b->yy_at_bol = 1;
2634 b->yy_buffer_status = YY_BUFFER_NEW;
2635
Owen Anderson1dc69692006-10-18 02:21:48 +00002636 if ( b == yy_current_buffer )
2637 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002638 }
2639
2640
Owen Anderson1dc69692006-10-18 02:21:48 +00002641#ifndef YY_NO_SCAN_BUFFER
2642#ifdef YY_USE_PROTOS
2643YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2644#else
2645YY_BUFFER_STATE yy_scan_buffer( base, size )
2646char *base;
2647yy_size_t size;
2648#endif
2649 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002650 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002651
Reid Spencer68a24bd2005-08-27 18:50:39 +00002652 if ( size < 2 ||
2653 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2654 base[size-1] != YY_END_OF_BUFFER_CHAR )
2655 /* They forgot to leave room for the EOB's. */
2656 return 0;
2657
Owen Anderson1dc69692006-10-18 02:21:48 +00002658 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002659 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002660 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002661
2662 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2663 b->yy_buf_pos = b->yy_ch_buf = base;
2664 b->yy_is_our_buffer = 0;
2665 b->yy_input_file = 0;
2666 b->yy_n_chars = b->yy_buf_size;
2667 b->yy_is_interactive = 0;
2668 b->yy_at_bol = 1;
2669 b->yy_fill_buffer = 0;
2670 b->yy_buffer_status = YY_BUFFER_NEW;
2671
Owen Anderson1dc69692006-10-18 02:21:48 +00002672 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002673
2674 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002675 }
2676#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002677
2678
Owen Anderson1dc69692006-10-18 02:21:48 +00002679#ifndef YY_NO_SCAN_STRING
2680#ifdef YY_USE_PROTOS
2681YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2682#else
2683YY_BUFFER_STATE yy_scan_string( yy_str )
2684yyconst char *yy_str;
2685#endif
2686 {
2687 int len;
2688 for ( len = 0; yy_str[len]; ++len )
2689 ;
2690
2691 return yy_scan_bytes( yy_str, len );
2692 }
2693#endif
2694
2695
2696#ifndef YY_NO_SCAN_BYTES
2697#ifdef YY_USE_PROTOS
2698YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2699#else
2700YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2701yyconst char *bytes;
2702int len;
2703#endif
2704 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002705 YY_BUFFER_STATE b;
2706 char *buf;
2707 yy_size_t n;
2708 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002709
Reid Spencer68a24bd2005-08-27 18:50:39 +00002710 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002711 n = len + 2;
2712 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002713 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002714 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002715
Owen Anderson1dc69692006-10-18 02:21:48 +00002716 for ( i = 0; i < len; ++i )
2717 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002718
Owen Anderson1dc69692006-10-18 02:21:48 +00002719 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002720
Owen Anderson1dc69692006-10-18 02:21:48 +00002721 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002722 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002723 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002724
2725 /* It's okay to grow etc. this buffer, and we should throw it
2726 * away when we're done.
2727 */
2728 b->yy_is_our_buffer = 1;
2729
2730 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002731 }
2732#endif
2733
2734
2735#ifndef YY_NO_PUSH_STATE
2736#ifdef YY_USE_PROTOS
2737static void yy_push_state( int new_state )
2738#else
2739static void yy_push_state( new_state )
2740int new_state;
2741#endif
2742 {
2743 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2744 {
2745 yy_size_t new_size;
2746
2747 yy_start_stack_depth += YY_START_STACK_INCR;
2748 new_size = yy_start_stack_depth * sizeof( int );
2749
2750 if ( ! yy_start_stack )
2751 yy_start_stack = (int *) yy_flex_alloc( new_size );
2752
2753 else
2754 yy_start_stack = (int *) yy_flex_realloc(
2755 (void *) yy_start_stack, new_size );
2756
2757 if ( ! yy_start_stack )
2758 YY_FATAL_ERROR(
2759 "out of memory expanding start-condition stack" );
2760 }
2761
2762 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2763
2764 BEGIN(new_state);
2765 }
2766#endif
2767
2768
2769#ifndef YY_NO_POP_STATE
2770static void yy_pop_state()
2771 {
2772 if ( --yy_start_stack_ptr < 0 )
2773 YY_FATAL_ERROR( "start-condition stack underflow" );
2774
2775 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2776 }
2777#endif
2778
2779
2780#ifndef YY_NO_TOP_STATE
2781static int yy_top_state()
2782 {
2783 return yy_start_stack[yy_start_stack_ptr - 1];
2784 }
2785#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002786
2787#ifndef YY_EXIT_FAILURE
2788#define YY_EXIT_FAILURE 2
2789#endif
2790
Owen Anderson1dc69692006-10-18 02:21:48 +00002791#ifdef YY_USE_PROTOS
2792static void yy_fatal_error( yyconst char msg[] )
2793#else
2794static void yy_fatal_error( msg )
2795char msg[];
2796#endif
2797 {
2798 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002799 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002800 }
2801
2802
Reid Spencer68a24bd2005-08-27 18:50:39 +00002803
2804/* Redefine yyless() so it works in section 3 code. */
2805
2806#undef yyless
2807#define yyless(n) \
2808 do \
2809 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002810 /* Undo effects of setting up yytext. */ \
2811 yytext[yyleng] = yy_hold_char; \
2812 yy_c_buf_p = yytext + n; \
2813 yy_hold_char = *yy_c_buf_p; \
2814 *yy_c_buf_p = '\0'; \
2815 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002816 } \
2817 while ( 0 )
2818
2819
Owen Anderson1dc69692006-10-18 02:21:48 +00002820/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002821
2822#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002823#ifdef YY_USE_PROTOS
2824static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2825#else
2826static void yy_flex_strncpy( s1, s2, n )
2827char *s1;
2828yyconst char *s2;
2829int n;
2830#endif
2831 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002832 register int i;
2833 for ( i = 0; i < n; ++i )
2834 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002835 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002836#endif
2837
2838#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002839#ifdef YY_USE_PROTOS
2840static int yy_flex_strlen( yyconst char *s )
2841#else
2842static int yy_flex_strlen( s )
2843yyconst char *s;
2844#endif
2845 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002846 register int n;
2847 for ( n = 0; s[n]; ++n )
2848 ;
2849
2850 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002851 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002852#endif
2853
Reid Spencer68a24bd2005-08-27 18:50:39 +00002854
Owen Anderson1dc69692006-10-18 02:21:48 +00002855#ifdef YY_USE_PROTOS
2856static void *yy_flex_alloc( yy_size_t size )
2857#else
2858static void *yy_flex_alloc( size )
2859yy_size_t size;
2860#endif
2861 {
2862 return (void *) malloc( size );
2863 }
2864
2865#ifdef YY_USE_PROTOS
2866static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2867#else
2868static inline void *yy_flex_realloc( ptr, size )
2869void *ptr;
2870yy_size_t size;
2871#endif
2872 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002873 /* The cast to (char *) in the following accommodates both
2874 * implementations that use char* generic pointers, and those
2875 * that use void* generic pointers. It works with the latter
2876 * because both ANSI C and C++ allow castless assignment from
2877 * any pointer type to void*, and deal with argument conversions
2878 * as though doing an assignment.
2879 */
2880 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002881 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002882
Owen Anderson1dc69692006-10-18 02:21:48 +00002883#ifdef YY_USE_PROTOS
2884static void yy_flex_free( void *ptr )
2885#else
2886static void yy_flex_free( ptr )
2887void *ptr;
2888#endif
2889 {
2890 free( ptr );
2891 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002892
Owen Anderson1dc69692006-10-18 02:21:48 +00002893#if YY_MAIN
2894int main()
2895 {
2896 yylex();
2897 return 0;
2898 }
2899#endif
Reid Spencer481169e2006-12-01 00:33:46 +00002900#line 398 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002901