blob: 0d4fdc6d4c932008309aa3dc10db65ecaceb7157 [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 Spencera132e042006-12-03 05:46:11 +0000320#define YY_NUM_RULES 151
321#define YY_END_OF_BUFFER 152
322static yyconst short int yy_acclist[229] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencera132e042006-12-03 05:46:11 +0000324 152, 150, 151, 149, 150, 151, 149, 151, 150, 151,
325 150, 151, 150, 151, 150, 151, 150, 151, 150, 151,
326 142, 150, 151, 142, 150, 151, 1, 150, 151, 150,
327 151, 150, 151, 150, 151, 150, 151, 150, 151, 150,
328 151, 150, 151, 150, 151, 150, 151, 150, 151, 150,
329 151, 150, 151, 150, 151, 150, 151, 150, 151, 150,
330 151, 150, 151, 150, 151, 150, 151, 150, 151, 150,
331 151, 141, 139, 138, 138, 145, 143, 147, 142, 1,
332 124, 38, 80, 81, 70, 22, 141, 138, 138, 146,
333 147, 19, 147, 148, 60, 69, 36, 31, 39, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencera132e042006-12-03 05:46:11 +0000335 51, 62, 96, 104, 123, 85, 83, 119, 84, 82,
336 61, 89, 87, 88, 86, 97, 71, 140, 147, 147,
337 121, 46, 105, 79, 65, 131, 68, 78, 132, 53,
338 120, 21, 144, 64, 108, 67, 23, 4, 58, 63,
339 52, 66, 45, 11, 107, 147, 33, 2, 5, 55,
340 110, 57, 90, 95, 93, 94, 92, 91, 47, 73,
341 77, 75, 76, 74, 72, 49, 133, 106, 48, 54,
342 20, 98, 103, 101, 102, 100, 99, 130, 42, 56,
343 27, 41, 114, 113, 7, 126, 30, 129, 35, 59,
344 118, 112, 125, 24, 25, 111, 127, 50, 122, 117,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencera132e042006-12-03 05:46:11 +0000346 40, 6, 26, 109, 34, 8, 16, 9, 115, 10,
347 116, 32, 12, 14, 13, 29, 37, 15, 28, 128,
348 134, 136, 137, 43, 135, 17, 44, 18
Reid Spencer68a24bd2005-08-27 18:50:39 +0000349 } ;
350
Reid Spencera132e042006-12-03 05:46:11 +0000351static yyconst short int yy_accept[588] =
Owen Anderson1dc69692006-10-18 02:21:48 +0000352 { 0,
353 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
354 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
355 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
356 60, 62, 64, 66, 68, 70, 72, 72, 73, 73,
357 74, 75, 76, 77, 77, 78, 78, 79, 80, 80,
358 81, 81, 81, 81, 81, 81, 81, 81, 81, 82,
Reid Spencera132e042006-12-03 05:46:11 +0000359 82, 83, 83, 83, 83, 83, 83, 83, 83, 84,
Owen Anderson1dc69692006-10-18 02:21:48 +0000360 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
Reid Spencera132e042006-12-03 05:46:11 +0000361 84, 84, 84, 84, 84, 84, 84, 84, 84, 85,
362 85, 85, 86, 86, 86, 86, 86, 86, 86, 86,
Owen Anderson1dc69692006-10-18 02:21:48 +0000363
Reid Spencera132e042006-12-03 05:46:11 +0000364 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
365 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
366 87, 87, 87, 87, 87, 87, 87, 88, 89, 91,
367 92, 93, 94, 94, 95, 96, 96, 96, 97, 97,
368 97, 98, 98, 99, 99, 99, 99, 100, 100, 100,
369 100, 100, 100, 100, 100, 100, 101, 101, 101, 101,
370 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
371 101, 102, 102, 102, 102, 102, 102, 102, 102, 102,
372 102, 103, 103, 103, 104, 105, 105, 105, 106, 106,
373 106, 106, 106, 106, 106, 106, 107, 108, 109, 109,
Reid Spencer3da59db2006-11-27 01:05:10 +0000374
Reid Spencera132e042006-12-03 05:46:11 +0000375 109, 109, 109, 110, 111, 111, 111, 112, 112, 112,
376 112, 112, 112, 112, 112, 112, 113, 114, 114, 114,
377 115, 115, 116, 116, 117, 117, 117, 117, 117, 117,
378 117, 117, 117, 117, 118, 118, 118, 119, 120, 120,
379 120, 120, 121, 121, 121, 121, 122, 122, 122, 123,
380 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
381 124, 124, 124, 124, 124, 125, 126, 126, 126, 126,
382 126, 127, 128, 128, 128, 129, 129, 129, 129, 129,
383 129, 129, 129, 129, 130, 131, 132, 132, 132, 133,
384 133, 133, 133, 133, 133, 133, 133, 134, 134, 135,
Owen Anderson1dc69692006-10-18 02:21:48 +0000385
Reid Spencera132e042006-12-03 05:46:11 +0000386 135, 135, 135, 135, 135, 135, 136, 136, 136, 136,
387 136, 137, 137, 137, 138, 138, 138, 139, 139, 140,
388 140, 141, 142, 142, 142, 142, 142, 142, 142, 142,
389 142, 142, 143, 143, 143, 144, 144, 145, 145, 145,
390 146, 147, 148, 148, 148, 149, 149, 149, 149, 149,
391 149, 149, 149, 149, 149, 149, 149, 149, 149, 150,
392 150, 151, 152, 152, 152, 152, 152, 152, 152, 152,
393 152, 152, 152, 153, 153, 153, 153, 153, 153, 154,
394 155, 156, 157, 158, 159, 159, 159, 160, 160, 160,
395 161, 162, 163, 164, 165, 166, 167, 167, 167, 167,
Owen Anderson1dc69692006-10-18 02:21:48 +0000396
Reid Spencera132e042006-12-03 05:46:11 +0000397 168, 168, 168, 168, 169, 170, 170, 171, 172, 173,
398 174, 175, 176, 177, 178, 178, 178, 178, 178, 178,
399 178, 178, 178, 179, 179, 179, 180, 180, 180, 180,
400 180, 180, 180, 180, 181, 182, 182, 182, 183, 184,
401 185, 185, 185, 186, 186, 186, 186, 186, 187, 187,
402 188, 189, 190, 191, 191, 191, 191, 192, 192, 192,
403 193, 194, 195, 196, 197, 197, 198, 199, 200, 200,
404 200, 200, 200, 200, 201, 201, 202, 202, 203, 204,
405 204, 204, 204, 204, 204, 205, 205, 205, 205, 205,
406 205, 205, 205, 205, 206, 206, 206, 206, 206, 206,
Owen Anderson1dc69692006-10-18 02:21:48 +0000407
Reid Spencera132e042006-12-03 05:46:11 +0000408 206, 206, 206, 207, 207, 207, 207, 207, 208, 208,
409 208, 208, 208, 209, 210, 211, 211, 212, 212, 212,
410 212, 213, 213, 213, 213, 214, 214, 215, 216, 216,
411 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
412 216, 217, 217, 217, 217, 217, 217, 217, 217, 218,
413 218, 218, 218, 218, 219, 219, 219, 219, 219, 220,
414 220, 221, 221, 221, 221, 221, 221, 221, 221, 221,
415 221, 221, 221, 221, 222, 222, 223, 224, 224, 225,
416 225, 226, 227, 228, 228, 229, 229
Owen Anderson1dc69692006-10-18 02:21:48 +0000417 } ;
418
419static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000420 { 0,
421 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
422 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
424 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
425 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000426 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
427 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000428 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
429 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000430 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000431
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000432 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
433 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
434 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000435 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 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
442
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, 1, 1, 1, 1, 1,
447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
448 1, 1, 1, 1, 1
449 } ;
450
Owen Anderson1dc69692006-10-18 02:21:48 +0000451static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000452 { 0,
453 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000454 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000455 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
456 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000457 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000458 } ;
459
Reid Spencera132e042006-12-03 05:46:11 +0000460static yyconst short int yy_base[592] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000461 { 0,
Reid Spencera132e042006-12-03 05:46:11 +0000462 0, 0, 1262, 1263, 1263, 1263, 1257, 1246, 36, 40,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000463 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Reid Spencera132e042006-12-03 05:46:11 +0000464 108, 91, 95, 92, 72, 109, 49, 119, 117, 147,
465 120, 178, 134, 121, 136, 140, 1255, 1263, 1244, 1263,
466 0, 167, 183, 206, 211, 150, 216, 231, 236, 0,
467 65, 172, 93, 132, 176, 146, 237, 222, 1243, 31,
468 69, 247, 169, 144, 249, 183, 194, 250, 1242, 197,
469 251, 161, 252, 253, 254, 261, 255, 257, 267, 269,
470 259, 122, 272, 274, 280, 285, 286, 287, 1241, 290,
471 293, 296, 297, 299, 175, 301, 276, 306, 307, 308,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000472
Reid Spencera132e042006-12-03 05:46:11 +0000473 309, 321, 314, 317, 316, 311, 217, 328, 330, 1240,
474 333, 319, 327, 347, 344, 342, 352, 348, 349, 350,
475 364, 363, 372, 373, 379, 380, 1239, 0, 385, 389,
476 1238, 412, 429, 0, 1237, 391, 395, 1236, 390, 393,
477 1235, 403, 1234, 389, 404, 405, 1233, 424, 417, 397,
478 430, 418, 431, 434, 436, 437, 440, 438, 441, 444,
479 445, 448, 451, 454, 457, 456, 452, 455, 462, 459,
480 467, 469, 471, 479, 481, 483, 484, 482, 485, 486,
481 1232, 492, 488, 502, 1231, 489, 497, 1230, 525, 514,
482 501, 515, 496, 536, 516, 1229, 1228, 1227, 525, 499,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000483
Reid Spencera132e042006-12-03 05:46:11 +0000484 540, 494, 1226, 1225, 541, 529, 1224, 542, 543, 544,
485 548, 552, 554, 556, 559, 1223, 1222, 560, 562, 1221,
486 564, 1220, 566, 576, 568, 573, 572, 571, 590, 570,
487 592, 582, 594, 1219, 599, 600, 1263, 605, 613, 622,
488 628, 633, 605, 634, 635, 1218, 636, 637, 1217, 1216,
489 638, 616, 640, 643, 644, 646, 647, 648, 650, 651,
490 654, 655, 657, 661, 1215, 1214, 662, 667, 669, 670,
491 1213, 1212, 671, 672, 1211, 673, 676, 678, 680, 681,
492 687, 683, 688, 1210, 1209, 1208, 689, 696, 1207, 684,
493 498, 700, 704, 705, 692, 706, 0, 710, 1206, 712,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000494
Reid Spencera132e042006-12-03 05:46:11 +0000495 721, 716, 717, 720, 722, 1205, 718, 732, 730, 734,
496 1204, 737, 738, 1203, 747, 733, 1202, 750, 1201, 749,
497 1200, 1199, 751, 752, 754, 735, 753, 759, 760, 765,
498 766, 1198, 767, 771, 1197, 772, 1196, 774, 773, 1195,
499 781, 1194, 785, 781, 1193, 775, 787, 793, 799, 800,
500 791, 801, 802, 803, 804, 808, 809, 810, 1192, 811,
501 1191, 1190, 814, 815, 816, 820, 819, 823, 824, 831,
502 830, 832, 1189, 835, 836, 837, 842, 846, 1188, 1187,
503 1186, 1185, 1184, 1183, 850, 840, 1182, 838, 843, 1181,
504 1180, 1179, 1178, 1177, 1176, 1175, 854, 857, 858, 1174,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000505
Reid Spencera132e042006-12-03 05:46:11 +0000506 860, 861, 862, 1173, 1172, 863, 1171, 1170, 1169, 1168,
507 1167, 1166, 1165, 1164, 868, 865, 864, 870, 876, 874,
508 878, 880, 1163, 883, 885, 1162, 886, 888, 890, 891,
509 892, 893, 894, 1161, 1160, 902, 898, 1159, 1158, 1157,
510 909, 899, 1156, 904, 910, 917, 905, 1155, 920, 1154,
511 1153, 1152, 1151, 923, 924, 925, 1150, 926, 929, 1149,
512 1148, 1147, 1146, 1145, 931, 1144, 1143, 1142, 930, 932,
513 938, 934, 933, 1141, 936, 1140, 937, 1139, 1138, 940,
514 948, 949, 951, 953, 1137, 956, 957, 952, 958, 960,
515 963, 964, 968, 1136, 970, 971, 977, 976, 978, 983,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000516
Reid Spencera132e042006-12-03 05:46:11 +0000517 979, 987, 1135, 984, 988, 989, 994, 1132, 992, 993,
518 996, 997, 1123, 1122, 1121, 1000, 1120, 1005, 1009, 1015,
519 1119, 1017, 999, 1018, 1116, 1020, 1114, 1113, 1022, 1023,
520 1025, 1028, 1026, 1029, 1030, 1034, 1035, 1036, 1038, 1039,
521 1112, 1040, 1045, 1046, 1047, 1051, 1055, 1049, 1111, 1059,
522 1052, 1056, 1062, 1110, 1066, 1063, 1069, 1073, 1105, 1074,
523 679, 1076, 1078, 1080, 1079, 1081, 1083, 1084, 1087, 1088,
524 1097, 1089, 1094, 615, 1098, 613, 574, 1099, 394, 1100,
525 354, 313, 224, 1103, 221, 1263, 1138, 1140, 135, 1144,
526 59
527
Reid Spencer68a24bd2005-08-27 18:50:39 +0000528 } ;
529
Reid Spencera132e042006-12-03 05:46:11 +0000530static yyconst short int yy_def[592] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000531 { 0,
Reid Spencera132e042006-12-03 05:46:11 +0000532 586, 1, 586, 586, 586, 586, 587, 588, 589, 586,
533 588, 588, 588, 588, 590, 588, 588, 588, 588, 588,
534 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
535 588, 588, 588, 588, 588, 588, 587, 586, 588, 586,
536 591, 591, 586, 586, 588, 588, 588, 588, 588, 590,
537 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
538 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
539 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
540 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
541 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000542
Reid Spencera132e042006-12-03 05:46:11 +0000543 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
544 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
545 588, 588, 588, 588, 588, 588, 586, 591, 591, 586,
546 588, 588, 588, 49, 588, 588, 588, 588, 588, 588,
547 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
548 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
549 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
550 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
551 588, 588, 588, 588, 588, 588, 588, 588, 49, 588,
552 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000553
Reid Spencera132e042006-12-03 05:46:11 +0000554 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
555 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
556 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
557 588, 588, 588, 588, 588, 588, 586, 586, 586, 586,
558 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
559 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
560 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
561 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
562 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
563 588, 588, 588, 588, 588, 588, 189, 588, 588, 588,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000564
Reid Spencera132e042006-12-03 05:46:11 +0000565 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
566 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
567 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
568 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
569 586, 588, 588, 588, 588, 588, 588, 588, 588, 588,
570 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
571 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
572 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
573 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
574 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000575
Reid Spencera132e042006-12-03 05:46:11 +0000576 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
577 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
578 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
579 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
580 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
581 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
582 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
583 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
584 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
585 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000586
Reid Spencera132e042006-12-03 05:46:11 +0000587 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
588 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
589 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
590 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
591 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
592 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
593 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
594 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
595 588, 588, 588, 588, 588, 0, 586, 586, 586, 586,
596 586
597
Reid Spencer68a24bd2005-08-27 18:50:39 +0000598 } ;
599
Reid Spencera132e042006-12-03 05:46:11 +0000600static yyconst short int yy_nxt[1307] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000601 { 0,
602 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000603 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
604 18, 19, 20, 21, 22, 8, 23, 8, 24, 25,
605 26, 27, 28, 8, 29, 30, 31, 32, 33, 34,
606 35, 8, 36, 42, 40, 43, 43, 43, 43, 44,
Reid Spencera132e042006-12-03 05:46:11 +0000607 44, 44, 44, 45, 45, 45, 45, 40, 46, 146,
608 40, 128, 40, 40, 47, 48, 48, 48, 48, 40,
609 47, 48, 48, 48, 48, 40, 40, 68, 40, 40,
610 69, 91, 40, 92, 51, 40, 135, 70, 56, 147,
611 86, 52, 57, 53, 40, 54, 49, 58, 55, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000612
Reid Spencera132e042006-12-03 05:46:11 +0000613 59, 61, 40, 87, 40, 40, 40, 64, 40, 88,
614 82, 65, 62, 77, 138, 79, 63, 66, 83, 78,
615 67, 40, 40, 84, 80, 81, 71, 85, 72, 73,
616 40, 89, 40, 40, 40, 40, 74, 41, 109, 96,
617 75, 173, 76, 123, 93, 40, 90, 40, 124, 40,
618 94, 110, 121, 40, 111, 95, 97, 40, 131, 40,
619 40, 112, 126, 40, 139, 122, 98, 125, 99, 100,
620 142, 101, 102, 103, 40, 104, 129, 129, 129, 129,
621 151, 105, 40, 106, 107, 40, 108, 97, 40, 40,
622 160, 40, 43, 43, 43, 43, 40, 113, 136, 114,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000623
Reid Spencera132e042006-12-03 05:46:11 +0000624 137, 140, 115, 150, 116, 141, 117, 40, 118, 187,
625 40, 154, 119, 120, 130, 44, 44, 44, 44, 47,
626 45, 45, 45, 45, 40, 132, 132, 132, 132, 40,
627 40, 155, 133, 157, 40, 40, 207, 40, 133, 47,
628 48, 48, 48, 48, 40, 134, 134, 134, 134, 40,
629 40, 134, 134, 145, 134, 134, 134, 134, 134, 134,
630 40, 143, 40, 40, 40, 40, 40, 40, 40, 152,
631 40, 156, 40, 144, 40, 148, 163, 149, 161, 158,
632 40, 153, 40, 165, 162, 40, 159, 40, 167, 40,
633 164, 166, 176, 40, 170, 171, 168, 172, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000634
Reid Spencera132e042006-12-03 05:46:11 +0000635 40, 169, 174, 40, 177, 178, 40, 180, 175, 40,
636 40, 183, 40, 179, 40, 181, 189, 184, 182, 40,
637 40, 40, 40, 185, 40, 186, 40, 40, 192, 40,
638 40, 196, 40, 191, 40, 201, 193, 188, 205, 203,
639 40, 40, 206, 40, 194, 197, 40, 190, 195, 198,
640 202, 213, 199, 204, 208, 40, 209, 40, 200, 211,
641 40, 40, 40, 40, 210, 40, 216, 40, 214, 223,
642 212, 227, 218, 215, 220, 228, 40, 40, 219, 224,
643 217, 229, 225, 221, 233, 40, 40, 226, 222, 230,
644 232, 231, 40, 40, 129, 129, 129, 129, 238, 238,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000645
Reid Spencera132e042006-12-03 05:46:11 +0000646 238, 238, 40, 40, 40, 239, 40, 40, 40, 248,
647 40, 239, 245, 234, 235, 243, 40, 40, 40, 253,
648 236, 132, 132, 132, 132, 40, 244, 246, 133, 247,
649 40, 40, 249, 250, 133, 240, 241, 40, 242, 242,
650 242, 242, 40, 40, 40, 251, 255, 40, 254, 40,
651 40, 40, 252, 40, 40, 259, 257, 40, 40, 256,
652 258, 40, 261, 260, 40, 40, 267, 40, 40, 40,
653 40, 274, 40, 263, 262, 40, 265, 264, 273, 271,
654 40, 277, 40, 266, 40, 269, 272, 275, 270, 278,
655 276, 268, 40, 281, 40, 40, 40, 40, 40, 40,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000656
Reid Spencera132e042006-12-03 05:46:11 +0000657 280, 40, 40, 279, 284, 40, 282, 40, 285, 40,
658 40, 40, 40, 287, 40, 40, 286, 283, 301, 295,
659 289, 290, 308, 288, 291, 310, 292, 40, 40, 40,
660 293, 379, 294, 296, 297, 297, 297, 297, 40, 299,
661 297, 297, 40, 297, 297, 297, 297, 297, 297, 40,
662 298, 300, 306, 40, 40, 40, 40, 40, 302, 307,
663 303, 40, 309, 312, 304, 40, 305, 40, 315, 40,
664 311, 314, 40, 40, 317, 40, 319, 40, 313, 40,
665 316, 40, 318, 40, 40, 40, 40, 40, 325, 40,
666 330, 335, 320, 323, 324, 40, 322, 321, 326, 331,
Reid Spencer3da59db2006-11-27 01:05:10 +0000667
Reid Spencera132e042006-12-03 05:46:11 +0000668 327, 332, 333, 40, 328, 40, 329, 40, 334, 337,
669 336, 338, 40, 40, 238, 238, 238, 238, 40, 240,
670 240, 239, 341, 341, 341, 341, 40, 239, 40, 40,
671 339, 341, 341, 341, 341, 342, 340, 242, 242, 242,
672 242, 40, 242, 242, 242, 242, 40, 40, 40, 40,
673 40, 40, 348, 40, 343, 346, 40, 40, 347, 40,
674 40, 40, 351, 40, 40, 344, 345, 40, 40, 356,
675 40, 350, 352, 358, 40, 40, 349, 354, 355, 359,
676 40, 360, 40, 40, 40, 40, 40, 353, 357, 40,
677 367, 40, 40, 40, 40, 368, 40, 40, 361, 366,
Reid Spencer3da59db2006-11-27 01:05:10 +0000678
Reid Spencera132e042006-12-03 05:46:11 +0000679 40, 40, 40, 362, 363, 40, 364, 365, 372, 40,
680 369, 371, 370, 40, 374, 373, 375, 40, 40, 40,
681 376, 378, 380, 40, 377, 40, 382, 384, 385, 40,
682 40, 40, 387, 40, 40, 40, 381, 386, 388, 391,
683 383, 389, 393, 40, 395, 40, 40, 40, 40, 390,
684 40, 40, 398, 392, 396, 397, 394, 399, 401, 400,
685 40, 403, 40, 40, 40, 40, 40, 40, 409, 402,
686 404, 405, 40, 40, 406, 410, 407, 408, 40, 40,
687 40, 412, 414, 415, 40, 40, 40, 40, 40, 411,
688 341, 341, 341, 341, 40, 413, 416, 420, 40, 422,
Reid Spencer3da59db2006-11-27 01:05:10 +0000689
Reid Spencera132e042006-12-03 05:46:11 +0000690 40, 417, 424, 423, 40, 418, 40, 426, 419, 421,
691 425, 427, 40, 40, 40, 40, 40, 40, 429, 428,
692 431, 40, 40, 40, 40, 430, 434, 40, 40, 40,
693 437, 438, 40, 40, 432, 433, 40, 40, 435, 436,
694 439, 440, 442, 40, 40, 40, 441, 443, 40, 40,
695 40, 40, 444, 40, 448, 40, 40, 451, 450, 40,
696 445, 446, 447, 40, 452, 449, 455, 40, 453, 456,
697 40, 40, 454, 40, 40, 40, 40, 40, 40, 457,
698 459, 40, 458, 40, 463, 461, 466, 40, 465, 40,
699 460, 40, 470, 40, 468, 464, 40, 462, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000700
Reid Spencera132e042006-12-03 05:46:11 +0000701 467, 40, 469, 40, 40, 40, 40, 40, 476, 473,
702 472, 40, 40, 478, 471, 40, 475, 40, 40, 482,
703 483, 474, 40, 40, 480, 481, 487, 479, 486, 485,
704 40, 477, 488, 40, 484, 489, 40, 40, 40, 40,
705 491, 490, 40, 40, 40, 40, 40, 40, 495, 40,
706 40, 40, 496, 40, 493, 494, 497, 492, 498, 500,
707 501, 40, 40, 502, 40, 40, 40, 499, 504, 40,
708 40, 40, 503, 40, 505, 509, 40, 40, 510, 508,
709 512, 40, 506, 40, 40, 515, 513, 511, 507, 40,
710 40, 40, 40, 519, 514, 520, 40, 40, 521, 516,
Reid Spencer3da59db2006-11-27 01:05:10 +0000711
Reid Spencera132e042006-12-03 05:46:11 +0000712 40, 40, 40, 523, 517, 40, 40, 40, 518, 40,
713 40, 525, 40, 40, 522, 524, 529, 539, 40, 533,
714 530, 526, 40, 531, 527, 528, 534, 535, 40, 536,
715 40, 40, 532, 40, 537, 40, 40, 538, 40, 40,
716 542, 40, 40, 40, 540, 543, 545, 40, 40, 40,
717 548, 40, 40, 40, 551, 546, 541, 553, 40, 40,
718 40, 544, 40, 550, 40, 40, 552, 554, 40, 40,
719 549, 547, 40, 558, 555, 40, 40, 559, 556, 40,
720 562, 561, 40, 557, 563, 560, 40, 40, 565, 40,
721 564, 40, 40, 40, 40, 567, 40, 40, 571, 566,
Reid Spencer3da59db2006-11-27 01:05:10 +0000722
Reid Spencera132e042006-12-03 05:46:11 +0000723 40, 40, 40, 568, 570, 569, 572, 40, 578, 573,
724 40, 40, 40, 40, 575, 574, 40, 579, 40, 583,
725 576, 577, 584, 40, 40, 40, 40, 40, 582, 40,
726 581, 580, 40, 40, 40, 40, 40, 585, 37, 37,
727 37, 37, 39, 39, 50, 40, 50, 50, 40, 40,
Reid Spencer3da59db2006-11-27 01:05:10 +0000728 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner0e9c3762006-01-25 22:27:16 +0000729 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattnerd5efe842006-04-08 01:18:56 +0000730 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
731 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000732 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Chris Lattner75466192006-05-19 21:28:53 +0000733
Reid Spencer3ed469c2006-11-02 20:25:50 +0000734 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
735 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
736 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
Reid Spencera132e042006-12-03 05:46:11 +0000737 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
738 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
739 40, 40, 237, 40, 40, 40, 40, 40, 127, 40,
740 38, 586, 3, 586, 586, 586, 586, 586, 586, 586,
741 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
742 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
743 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
744
745 586, 586, 586, 586, 586, 586
Reid Spencer68a24bd2005-08-27 18:50:39 +0000746 } ;
747
Reid Spencera132e042006-12-03 05:46:11 +0000748static yyconst short int yy_chk[1307] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000749 { 0,
750 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencera132e042006-12-03 05:46:11 +0000754 1, 1, 1, 9, 60, 9, 9, 9, 9, 10,
755 10, 10, 10, 11, 11, 11, 11, 11, 12, 60,
756 20, 591, 27, 12, 13, 13, 13, 13, 13, 13,
757 14, 14, 14, 14, 14, 14, 16, 20, 51, 17,
758 20, 27, 61, 27, 16, 25, 51, 20, 17, 61,
759 25, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000760
Reid Spencera132e042006-12-03 05:46:11 +0000761 17, 18, 19, 25, 22, 24, 53, 19, 23, 25,
762 24, 19, 18, 22, 53, 23, 18, 19, 24, 22,
763 19, 21, 26, 24, 23, 23, 21, 24, 21, 21,
764 29, 26, 28, 31, 34, 82, 21, 589, 31, 29,
765 21, 82, 21, 34, 28, 54, 26, 33, 35, 35,
766 28, 31, 33, 36, 31, 28, 30, 64, 46, 56,
767 30, 31, 36, 46, 54, 33, 30, 35, 30, 30,
768 56, 30, 30, 30, 72, 30, 42, 42, 42, 42,
769 64, 30, 63, 30, 30, 52, 30, 32, 95, 55,
770 72, 32, 43, 43, 43, 43, 66, 32, 52, 32,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000771
Reid Spencera132e042006-12-03 05:46:11 +0000772 52, 55, 32, 63, 32, 55, 32, 67, 32, 95,
773 70, 66, 32, 32, 44, 44, 44, 44, 44, 45,
774 45, 45, 45, 45, 45, 47, 47, 47, 47, 47,
775 107, 67, 47, 70, 585, 58, 107, 583, 47, 48,
776 48, 48, 48, 48, 48, 49, 49, 49, 49, 49,
777 57, 49, 49, 58, 49, 49, 49, 49, 49, 49,
778 62, 57, 65, 68, 71, 73, 74, 75, 77, 65,
779 78, 68, 81, 57, 76, 62, 75, 62, 73, 71,
780 79, 65, 80, 76, 74, 83, 71, 84, 78, 97,
781 75, 77, 84, 85, 81, 81, 79, 81, 86, 87,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000782
Reid Spencera132e042006-12-03 05:46:11 +0000783 88, 80, 83, 90, 84, 85, 91, 87, 83, 92,
784 93, 91, 94, 86, 96, 88, 97, 92, 90, 98,
785 99, 100, 101, 93, 106, 94, 582, 103, 100, 105,
786 104, 101, 112, 99, 102, 103, 100, 96, 105, 104,
787 113, 108, 106, 109, 100, 101, 111, 98, 100, 102,
788 103, 112, 102, 104, 108, 116, 109, 115, 102, 111,
789 114, 118, 119, 120, 109, 117, 115, 581, 113, 118,
790 111, 119, 116, 114, 117, 120, 122, 121, 116, 118,
791 115, 121, 118, 117, 124, 123, 124, 118, 117, 122,
792 123, 122, 125, 126, 129, 129, 129, 129, 130, 130,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000793
Reid Spencera132e042006-12-03 05:46:11 +0000794 130, 130, 144, 139, 136, 130, 140, 579, 137, 144,
795 150, 130, 139, 125, 126, 136, 142, 145, 146, 150,
796 126, 132, 132, 132, 132, 132, 137, 140, 132, 142,
797 149, 152, 145, 146, 132, 133, 133, 148, 133, 133,
798 133, 133, 133, 151, 153, 148, 152, 154, 151, 155,
799 156, 158, 149, 157, 159, 155, 154, 160, 161, 153,
800 154, 162, 157, 156, 163, 167, 162, 164, 168, 166,
801 165, 167, 170, 158, 157, 169, 160, 159, 166, 165,
802 171, 170, 172, 161, 173, 164, 165, 168, 164, 171,
803 169, 163, 174, 173, 175, 178, 176, 177, 179, 180,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000804
Reid Spencera132e042006-12-03 05:46:11 +0000805 172, 183, 186, 171, 176, 182, 174, 202, 177, 193,
806 187, 291, 200, 179, 191, 184, 178, 175, 193, 186,
807 182, 183, 200, 180, 184, 202, 184, 190, 192, 195,
808 184, 291, 184, 187, 189, 189, 189, 189, 199, 191,
809 189, 189, 206, 189, 189, 189, 189, 189, 189, 194,
810 190, 192, 195, 201, 205, 208, 209, 210, 194, 199,
811 194, 211, 201, 206, 194, 212, 194, 213, 210, 214,
812 205, 209, 215, 218, 212, 219, 213, 221, 208, 223,
813 211, 225, 212, 230, 228, 227, 226, 577, 223, 224,
814 225, 230, 214, 219, 221, 232, 218, 215, 224, 226,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000815
Reid Spencera132e042006-12-03 05:46:11 +0000816 224, 227, 228, 229, 224, 231, 224, 233, 229, 232,
817 231, 233, 235, 236, 238, 238, 238, 238, 243, 239,
818 239, 238, 239, 239, 239, 239, 576, 238, 574, 252,
819 235, 240, 240, 240, 240, 243, 236, 241, 241, 241,
820 241, 241, 242, 242, 242, 242, 242, 244, 245, 247,
821 248, 251, 252, 253, 244, 248, 254, 255, 251, 256,
822 257, 258, 255, 259, 260, 245, 247, 261, 262, 260,
823 263, 254, 256, 262, 264, 267, 253, 258, 259, 263,
824 268, 264, 269, 270, 273, 274, 276, 257, 261, 277,
825 274, 278, 561, 279, 280, 276, 282, 290, 267, 273,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000826
Reid Spencera132e042006-12-03 05:46:11 +0000827 281, 283, 287, 268, 269, 295, 269, 270, 280, 288,
828 277, 279, 278, 292, 282, 281, 283, 293, 294, 296,
829 287, 290, 292, 298, 288, 300, 293, 294, 295, 302,
830 303, 307, 298, 304, 301, 305, 292, 296, 300, 303,
831 293, 301, 304, 309, 305, 308, 316, 310, 326, 302,
832 312, 313, 309, 303, 307, 308, 304, 310, 313, 312,
833 315, 316, 320, 318, 323, 324, 327, 325, 326, 315,
834 318, 320, 328, 329, 323, 327, 324, 325, 330, 331,
835 333, 328, 329, 330, 334, 336, 339, 338, 346, 327,
836 341, 341, 341, 341, 344, 328, 331, 338, 343, 339,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000837
Reid Spencera132e042006-12-03 05:46:11 +0000838 347, 333, 344, 343, 351, 334, 348, 347, 336, 338,
839 346, 348, 349, 350, 352, 353, 354, 355, 350, 349,
840 352, 356, 357, 358, 360, 351, 355, 363, 364, 365,
841 358, 360, 367, 366, 353, 354, 368, 369, 356, 357,
842 363, 364, 366, 371, 370, 372, 365, 367, 374, 375,
843 376, 388, 368, 386, 372, 377, 389, 376, 375, 378,
844 369, 370, 371, 385, 377, 374, 386, 397, 378, 388,
845 398, 399, 385, 401, 402, 403, 406, 417, 416, 389,
846 398, 415, 397, 418, 403, 401, 416, 420, 415, 419,
847 399, 421, 420, 422, 418, 406, 424, 402, 425, 427,
Chris Lattnere869eef2005-11-12 00:11:49 +0000848
Reid Spencera132e042006-12-03 05:46:11 +0000849 417, 428, 419, 429, 430, 431, 432, 433, 428, 424,
850 422, 437, 442, 430, 421, 436, 427, 444, 447, 436,
851 436, 425, 441, 445, 432, 433, 444, 431, 442, 441,
852 446, 429, 445, 449, 437, 446, 454, 455, 456, 458,
853 449, 447, 459, 469, 465, 470, 473, 472, 458, 475,
854 477, 471, 459, 480, 455, 456, 465, 454, 469, 471,
855 472, 481, 482, 473, 483, 488, 484, 470, 477, 486,
856 487, 489, 475, 490, 480, 484, 491, 492, 486, 483,
857 488, 493, 481, 495, 496, 491, 489, 487, 482, 498,
858 497, 499, 501, 496, 490, 497, 500, 504, 498, 492,
Chris Lattner75466192006-05-19 21:28:53 +0000859
Reid Spencera132e042006-12-03 05:46:11 +0000860 502, 505, 506, 500, 493, 509, 510, 507, 495, 511,
861 512, 502, 523, 516, 499, 501, 507, 523, 518, 512,
862 509, 504, 519, 510, 505, 506, 516, 518, 520, 519,
863 522, 524, 511, 526, 520, 529, 530, 522, 531, 533,
864 529, 532, 534, 535, 524, 530, 532, 536, 537, 538,
865 535, 539, 540, 542, 538, 533, 526, 540, 543, 544,
866 545, 531, 548, 537, 546, 551, 539, 542, 547, 552,
867 536, 534, 550, 546, 543, 553, 556, 547, 544, 555,
868 551, 550, 557, 545, 552, 548, 558, 560, 555, 562,
869 553, 563, 565, 564, 566, 557, 567, 568, 563, 556,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000870
Reid Spencera132e042006-12-03 05:46:11 +0000871 569, 570, 572, 558, 562, 560, 564, 573, 570, 565,
872 571, 575, 578, 580, 567, 566, 584, 571, 559, 578,
873 568, 569, 580, 554, 549, 541, 528, 527, 575, 525,
874 573, 572, 521, 517, 515, 514, 513, 584, 587, 587,
875 587, 587, 588, 588, 590, 508, 590, 590, 503, 494,
876 485, 479, 478, 476, 474, 468, 467, 466, 464, 463,
877 462, 461, 460, 457, 453, 452, 451, 450, 448, 443,
878 440, 439, 438, 435, 434, 426, 423, 414, 413, 412,
879 411, 410, 409, 408, 407, 405, 404, 400, 396, 395,
880 394, 393, 392, 391, 390, 387, 384, 383, 382, 381,
Reid Spencer3da59db2006-11-27 01:05:10 +0000881
Reid Spencera132e042006-12-03 05:46:11 +0000882 380, 379, 373, 362, 361, 359, 345, 342, 340, 337,
883 335, 332, 322, 321, 319, 317, 314, 311, 306, 299,
884 289, 286, 285, 284, 275, 272, 271, 266, 265, 250,
885 249, 246, 234, 222, 220, 217, 216, 207, 204, 203,
886 198, 197, 196, 188, 185, 181, 147, 143, 141, 138,
887 135, 131, 127, 110, 89, 69, 59, 39, 37, 8,
888 7, 3, 586, 586, 586, 586, 586, 586, 586, 586,
889 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
890 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
891 586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
892
893 586, 586, 586, 586, 586, 586
Reid Spencer68a24bd2005-08-27 18:50:39 +0000894 } ;
895
Owen Anderson1dc69692006-10-18 02:21:48 +0000896static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
897static char *yy_full_match;
898static int yy_lp;
899#define REJECT \
900{ \
901*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
902yy_cp = yy_full_match; /* restore poss. backed-over text */ \
903++yy_lp; \
904goto find_rule; \
905}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000906#define yymore() yymore_used_but_not_detected
907#define YY_MORE_ADJ 0
908#define YY_RESTORE_YY_MORE_OFFSET
Owen Anderson1dc69692006-10-18 02:21:48 +0000909char *yytext;
Reid Spencer481169e2006-12-01 00:33:46 +0000910#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +0000911#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000912/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
913//
914// The LLVM Compiler Infrastructure
915//
916// This file was developed by the LLVM research group and is distributed under
917// the University of Illinois Open Source License. See LICENSE.TXT for details.
918//
919//===----------------------------------------------------------------------===//
920//
921// This file implements the flex scanner for LLVM assembly languages files.
922//
923//===----------------------------------------------------------------------===*/
Owen Anderson1dc69692006-10-18 02:21:48 +0000924#define YY_NEVER_INTERACTIVE 1
Reid Spencer481169e2006-12-01 00:33:46 +0000925#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000926#include "ParserInternals.h"
927#include "llvm/Module.h"
928#include <list>
929#include "llvmAsmParser.h"
930#include <cctype>
931#include <cstdlib>
932
933void set_scan_file(FILE * F){
Owen Anderson1dc69692006-10-18 02:21:48 +0000934 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000935}
936void set_scan_string (const char * str) {
Owen Anderson1dc69692006-10-18 02:21:48 +0000937 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000938}
939
Reid Spencer3ed469c2006-11-02 20:25:50 +0000940// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000941#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000942 llvmAsmlval.type = Instruction::Enum; \
943 return sym
944
945#define RET_ENUM(type, Enum, sym) \
946 llvmAsmlval.type = Enum; \
Reid Spencer3ed469c2006-11-02 20:25:50 +0000947 return sym
948
949// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000950#define RET_TY(CTYPE, SYM) \
951 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000952 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000953
954namespace llvm {
955
956// TODO: All of the static identifiers are figured out by the lexer,
957// these should be hashed to reduce the lexer size
958
959
960// atoull - Convert an ascii string of decimal digits into the unsigned long
961// long representation... this does not have to do input error checking,
962// because we know that the input will be matched by a suitable regex...
963//
964static uint64_t atoull(const char *Buffer) {
965 uint64_t Result = 0;
966 for (; *Buffer; Buffer++) {
967 uint64_t OldRes = Result;
968 Result *= 10;
969 Result += *Buffer-'0';
970 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000971 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000972 }
973 return Result;
974}
975
976static uint64_t HexIntToVal(const char *Buffer) {
977 uint64_t Result = 0;
978 for (; *Buffer; ++Buffer) {
979 uint64_t OldRes = Result;
980 Result *= 16;
981 char C = *Buffer;
982 if (C >= '0' && C <= '9')
983 Result += C-'0';
984 else if (C >= 'A' && C <= 'F')
985 Result += C-'A'+10;
986 else if (C >= 'a' && C <= 'f')
987 Result += C-'a'+10;
988
989 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000990 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000991 }
992 return Result;
993}
994
995
996// HexToFP - Convert the ascii string in hexidecimal format to the floating
997// point representation of it.
998//
999static double HexToFP(const char *Buffer) {
1000 // Behave nicely in the face of C TBAA rules... see:
1001 // http://www.nullstone.com/htmls/category/aliastyp.htm
1002 union {
1003 uint64_t UI;
1004 double FP;
1005 } UIntToFP;
1006 UIntToFP.UI = HexIntToVal(Buffer);
1007
1008 assert(sizeof(double) == sizeof(uint64_t) &&
1009 "Data sizes incompatible on this target!");
1010 return UIntToFP.FP; // Cast Hex constant to double
1011}
1012
1013
1014// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
1015// appropriate character. If AllowNull is set to false, a \00 value will cause
1016// an exception to be thrown.
1017//
1018// If AllowNull is set to true, the return value of the function points to the
1019// last character of the string in memory.
1020//
1021char *UnEscapeLexed(char *Buffer, bool AllowNull) {
1022 char *BOut = Buffer;
1023 for (char *BIn = Buffer; *BIn; ) {
1024 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1025 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1026 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1027 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +00001028 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001029
1030 BIn[3] = Tmp; // Restore character
1031 BIn += 3; // Skip over handled chars
1032 ++BOut;
1033 } else {
1034 *BOut++ = *BIn++;
1035 }
1036 }
1037
1038 return BOut;
1039}
1040
1041} // End llvm namespace
1042
1043using namespace llvm;
1044
1045#define YY_NEVER_INTERACTIVE 1
1046/* Comments start with a ; and go till end of line */
1047/* Variable(Value) identifiers start with a % sign */
1048/* Label identifiers end with a colon */
1049/* Quoted names can contain any character except " and \ */
1050/* [PN]Integer: match positive and negative literal integer values that
1051 * are preceeded by a '%' character. These represent unnamed variable slots.
1052 */
1053/* E[PN]Integer: match positive and negative literal integer values */
1054/* FPConstant - A Floating point constant.
1055 */
1056/* HexFPConstant - Floating point constant represented in IEEE format as a
1057 * hexadecimal number for when exponential notation is not precise enough.
1058 */
1059/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1060 * it to deal with 64 bit numbers.
1061 */
Reid Spencera132e042006-12-03 05:46:11 +00001062#line 1063 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001063
1064/* Macros after this point can all be overridden by user definitions in
1065 * section 1.
1066 */
1067
1068#ifndef YY_SKIP_YYWRAP
1069#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001070extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001071#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001072extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001073#endif
1074#endif
1075
Owen Anderson1dc69692006-10-18 02:21:48 +00001076#ifndef YY_NO_UNPUT
1077static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1078#endif
1079
Reid Spencer68a24bd2005-08-27 18:50:39 +00001080#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00001081static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001082#endif
1083
1084#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00001085static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001086#endif
1087
1088#ifndef YY_NO_INPUT
1089#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00001090static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001091#else
Owen Anderson1dc69692006-10-18 02:21:48 +00001092static int input YY_PROTO(( void ));
1093#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001094#endif
1095
Owen Anderson1dc69692006-10-18 02:21:48 +00001096#if YY_STACK_USED
1097static int yy_start_stack_ptr = 0;
1098static int yy_start_stack_depth = 0;
1099static int *yy_start_stack = 0;
1100#ifndef YY_NO_PUSH_STATE
1101static void yy_push_state YY_PROTO(( int new_state ));
1102#endif
1103#ifndef YY_NO_POP_STATE
1104static void yy_pop_state YY_PROTO(( void ));
1105#endif
1106#ifndef YY_NO_TOP_STATE
1107static int yy_top_state YY_PROTO(( void ));
1108#endif
1109
1110#else
1111#define YY_NO_PUSH_STATE 1
1112#define YY_NO_POP_STATE 1
1113#define YY_NO_TOP_STATE 1
1114#endif
1115
1116#ifdef YY_MALLOC_DECL
1117YY_MALLOC_DECL
1118#else
1119#if __STDC__
1120#ifndef __cplusplus
1121#include <stdlib.h>
1122#endif
1123#else
1124/* Just try to get by without declaring the routines. This will fail
1125 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1126 * or sizeof(void*) != sizeof(int).
1127 */
1128#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001129#endif
1130
1131/* Amount of stuff to slurp up with each read. */
1132#ifndef YY_READ_BUF_SIZE
1133#define YY_READ_BUF_SIZE 8192
1134#endif
1135
1136/* Copy whatever the last rule matched to the standard output. */
Owen Anderson1dc69692006-10-18 02:21:48 +00001137
Reid Spencer68a24bd2005-08-27 18:50:39 +00001138#ifndef ECHO
1139/* This used to be an fputs(), but since the string might contain NUL's,
1140 * we now use fwrite().
1141 */
Owen Anderson1dc69692006-10-18 02:21:48 +00001142#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001143#endif
1144
1145/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1146 * is returned in "result".
1147 */
1148#ifndef YY_INPUT
1149#define YY_INPUT(buf,result,max_size) \
Owen Anderson1dc69692006-10-18 02:21:48 +00001150 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001151 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00001152 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001153 for ( n = 0; n < max_size && \
Owen Anderson1dc69692006-10-18 02:21:48 +00001154 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001155 buf[n] = (char) c; \
1156 if ( c == '\n' ) \
1157 buf[n++] = (char) c; \
Owen Anderson1dc69692006-10-18 02:21:48 +00001158 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001159 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1160 result = n; \
1161 } \
Owen Anderson1dc69692006-10-18 02:21:48 +00001162 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1163 && ferror( yyin ) ) \
1164 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001165#endif
1166
1167/* No semi-colon after return; correct usage is to write "yyterminate();" -
1168 * we don't want an extra ';' after the "return" because that will cause
1169 * some compilers to complain about unreachable statements.
1170 */
1171#ifndef yyterminate
1172#define yyterminate() return YY_NULL
1173#endif
1174
1175/* Number of entries by which start-condition stack grows. */
1176#ifndef YY_START_STACK_INCR
1177#define YY_START_STACK_INCR 25
1178#endif
1179
1180/* Report a fatal error. */
1181#ifndef YY_FATAL_ERROR
1182#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1183#endif
1184
1185/* Default declaration of generated scanner - a define so the user can
1186 * easily add parameters.
1187 */
1188#ifndef YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001189#define YY_DECL int yylex YY_PROTO(( void ))
1190#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001191
Owen Anderson1dc69692006-10-18 02:21:48 +00001192/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001193 * have been set up.
1194 */
1195#ifndef YY_USER_ACTION
1196#define YY_USER_ACTION
1197#endif
1198
1199/* Code executed at the end of each rule. */
1200#ifndef YY_BREAK
1201#define YY_BREAK break;
1202#endif
1203
1204#define YY_RULE_SETUP \
1205 YY_USER_ACTION
1206
1207YY_DECL
Owen Anderson1dc69692006-10-18 02:21:48 +00001208 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001209 register yy_state_type yy_current_state;
Reid Spencer3da59db2006-11-27 01:05:10 +00001210 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001211 register int yy_act;
Owen Anderson1dc69692006-10-18 02:21:48 +00001212
Reid Spencera132e042006-12-03 05:46:11 +00001213#line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001214
1215
Reid Spencera132e042006-12-03 05:46:11 +00001216#line 1217 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001217
Owen Anderson1dc69692006-10-18 02:21:48 +00001218 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001219 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001220 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001221
1222#ifdef YY_USER_INIT
1223 YY_USER_INIT;
1224#endif
1225
Owen Anderson1dc69692006-10-18 02:21:48 +00001226 if ( ! yy_start )
1227 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001228
Owen Anderson1dc69692006-10-18 02:21:48 +00001229 if ( ! yyin )
1230 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001231
Owen Anderson1dc69692006-10-18 02:21:48 +00001232 if ( ! yyout )
1233 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001234
Owen Anderson1dc69692006-10-18 02:21:48 +00001235 if ( ! yy_current_buffer )
1236 yy_current_buffer =
1237 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001238
Owen Anderson1dc69692006-10-18 02:21:48 +00001239 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001240 }
1241
1242 while ( 1 ) /* loops until end-of-file is reached */
1243 {
Owen Anderson1dc69692006-10-18 02:21:48 +00001244 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001245
Owen Anderson1dc69692006-10-18 02:21:48 +00001246 /* Support of yytext. */
1247 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001248
1249 /* yy_bp points to the position in yy_ch_buf of the start of
1250 * the current run.
1251 */
1252 yy_bp = yy_cp;
1253
Owen Anderson1dc69692006-10-18 02:21:48 +00001254 yy_current_state = yy_start;
1255 yy_state_ptr = yy_state_buf;
1256 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001257yy_match:
1258 do
1259 {
1260 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1261 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1262 {
1263 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencera132e042006-12-03 05:46:11 +00001264 if ( yy_current_state >= 587 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001265 yy_c = yy_meta[(unsigned int) yy_c];
1266 }
1267 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00001268 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001269 ++yy_cp;
1270 }
Reid Spencera132e042006-12-03 05:46:11 +00001271 while ( yy_current_state != 586 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001272
1273yy_find_action:
Owen Anderson1dc69692006-10-18 02:21:48 +00001274 yy_current_state = *--yy_state_ptr;
1275 yy_lp = yy_accept[yy_current_state];
1276find_rule: /* we branch to this label when backing up */
1277 for ( ; ; ) /* until we find what rule we matched */
1278 {
1279 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1280 {
1281 yy_act = yy_acclist[yy_lp];
1282 {
1283 yy_full_match = yy_cp;
1284 break;
1285 }
1286 }
1287 --yy_cp;
1288 yy_current_state = *--yy_state_ptr;
1289 yy_lp = yy_accept[yy_current_state];
1290 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001291
1292 YY_DO_BEFORE_ACTION;
1293
Owen Anderson1dc69692006-10-18 02:21:48 +00001294 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001295 {
1296 int yyl;
Owen Anderson1dc69692006-10-18 02:21:48 +00001297 for ( yyl = 0; yyl < yyleng; ++yyl )
1298 if ( yytext[yyl] == '\n' )
1299 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001300 }
1301
1302do_action: /* This label is used only to access EOF actions. */
1303
Owen Anderson1dc69692006-10-18 02:21:48 +00001304
Reid Spencer68a24bd2005-08-27 18:50:39 +00001305 switch ( yy_act )
1306 { /* beginning of action switch */
1307case 1:
1308YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001309#line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001310{ /* Ignore comments for now */ }
1311 YY_BREAK
1312case 2:
1313YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001314#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001315{ return BEGINTOK; }
1316 YY_BREAK
1317case 3:
1318YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001319#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001320{ return ENDTOK; }
1321 YY_BREAK
1322case 4:
1323YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001324#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001325{ return TRUETOK; }
1326 YY_BREAK
1327case 5:
1328YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001329#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001330{ return FALSETOK; }
1331 YY_BREAK
1332case 6:
1333YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001334#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001335{ return DECLARE; }
1336 YY_BREAK
1337case 7:
1338YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001339#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001340{ return GLOBAL; }
1341 YY_BREAK
1342case 8:
1343YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001344#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001345{ return CONSTANT; }
1346 YY_BREAK
1347case 9:
1348YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001349#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001350{ return INTERNAL; }
1351 YY_BREAK
1352case 10:
1353YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001354#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001355{ return LINKONCE; }
1356 YY_BREAK
1357case 11:
1358YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001359#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001360{ return WEAK; }
1361 YY_BREAK
1362case 12:
1363YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001364#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001365{ return APPENDING; }
1366 YY_BREAK
1367case 13:
1368YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001369#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001370{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001371 YY_BREAK
1372case 14:
1373YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001374#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001375{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001376 YY_BREAK
1377case 15:
1378YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001379#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001380{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001381 YY_BREAK
1382case 16:
1383YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001384#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1385{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001386 YY_BREAK
1387case 17:
1388YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001389#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1390{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001391 YY_BREAK
1392case 18:
1393YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001394#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1395{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001396 YY_BREAK
1397case 19:
1398YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001399#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1400{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001401 YY_BREAK
1402case 20:
1403YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001404#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1405{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001406 YY_BREAK
1407case 21:
1408YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001409#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1410{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001411 YY_BREAK
1412case 22:
1413YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001414#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1415{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001416 YY_BREAK
1417case 23:
1418YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001419#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1420{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001421 YY_BREAK
1422case 24:
1423YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001424#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1425{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001426 YY_BREAK
1427case 25:
1428YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001429#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1430{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001431 YY_BREAK
1432case 26:
1433YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001434#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1435{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001436 YY_BREAK
1437case 27:
1438YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001439#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1440{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001441 YY_BREAK
1442case 28:
1443YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001444#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1445{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001446 YY_BREAK
1447case 29:
1448YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001449#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1450{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001451 YY_BREAK
1452case 30:
1453YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001454#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1455{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001456 YY_BREAK
1457case 31:
1458YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001459#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1460{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001461 YY_BREAK
1462case 32:
1463YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001464#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1465{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001466 YY_BREAK
1467case 33:
1468YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001469#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1470{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001471 YY_BREAK
1472case 34:
1473YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001474#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1475{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001476 YY_BREAK
1477case 35:
1478YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001479#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1480{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001481 YY_BREAK
1482case 36:
1483YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001484#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1485{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001486 YY_BREAK
1487case 37:
1488YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001489#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1490{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001491 YY_BREAK
1492case 38:
1493YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001494#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1495{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001496 YY_BREAK
1497case 39:
1498YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001499#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1500{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001501 YY_BREAK
1502case 40:
1503YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001504#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1505{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001506 YY_BREAK
1507case 41:
1508YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001509#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1510{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001511 YY_BREAK
1512case 42:
1513YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001514#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1515{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001516 YY_BREAK
1517case 43:
1518YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001519#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1520{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001521 YY_BREAK
1522case 44:
1523YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001524#line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1525{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001526 YY_BREAK
1527case 45:
1528YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001529#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1530{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001531 YY_BREAK
1532case 46:
1533YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001534#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1535{ RET_TY(Type::BoolTy, BOOL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001536 YY_BREAK
1537case 47:
1538YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001539#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1540{ RET_TY(Type::SByteTy, SBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001541 YY_BREAK
1542case 48:
1543YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001544#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1545{ RET_TY(Type::UByteTy, UBYTE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001546 YY_BREAK
1547case 49:
1548YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001549#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1550{ RET_TY(Type::ShortTy, SHORT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001551 YY_BREAK
1552case 50:
1553YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001554#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1555{ RET_TY(Type::UShortTy,USHORT);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001556 YY_BREAK
1557case 51:
1558YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001559#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1560{ RET_TY(Type::IntTy, INT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001561 YY_BREAK
1562case 52:
1563YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001564#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1565{ RET_TY(Type::UIntTy, UINT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001566 YY_BREAK
1567case 53:
1568YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001569#line 247 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1570{ RET_TY(Type::LongTy, LONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001571 YY_BREAK
1572case 54:
1573YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001574#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1575{ RET_TY(Type::ULongTy, ULONG); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001576 YY_BREAK
1577case 55:
1578YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001579#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1580{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001581 YY_BREAK
1582case 56:
1583YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001584#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1585{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001586 YY_BREAK
1587case 57:
1588YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001589#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1590{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001591 YY_BREAK
1592case 58:
1593YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001594#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1595{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001596 YY_BREAK
1597case 59:
1598YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001599#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1600{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001601 YY_BREAK
1602case 60:
1603YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001604#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1605{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001606 YY_BREAK
1607case 61:
1608YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001609#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1610{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001611 YY_BREAK
1612case 62:
1613YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001614#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1615{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001616 YY_BREAK
1617case 63:
1618YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001619#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1620{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001621 YY_BREAK
1622case 64:
1623YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001624#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1625{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001626 YY_BREAK
1627case 65:
1628YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001629#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1630{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001631 YY_BREAK
1632case 66:
1633YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001634#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1635{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001636 YY_BREAK
1637case 67:
1638YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001639#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1640{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001641 YY_BREAK
1642case 68:
1643YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001644#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1645{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001646 YY_BREAK
1647case 69:
1648YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001649#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1650{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001651 YY_BREAK
1652case 70:
1653YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001654#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1655{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001656 YY_BREAK
1657case 71:
1658YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001659#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1660{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001661 YY_BREAK
1662case 72:
1663YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001664#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1665{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001666 YY_BREAK
1667case 73:
1668YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001669#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1670{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001671 YY_BREAK
1672case 74:
1673YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001674#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1675{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001676 YY_BREAK
1677case 75:
1678YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001679#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1680{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001681 YY_BREAK
1682case 76:
1683YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001684#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1685{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001686 YY_BREAK
1687case 77:
1688YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001689#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1690{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001691 YY_BREAK
1692case 78:
1693YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001694#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1695{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001696 YY_BREAK
1697case 79:
1698YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001699#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1700{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001701 YY_BREAK
1702case 80:
1703YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001704#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1705{ RET_ENUM(IPredicate, ICmpInst::ICMP_EQ, EQ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001706 YY_BREAK
1707case 81:
1708YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001709#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1710{ RET_ENUM(IPredicate, ICmpInst::ICMP_NE, NE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001711 YY_BREAK
1712case 82:
1713YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001714#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1715{ RET_ENUM(IPredicate, ICmpInst::ICMP_SLT, SLT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001716 YY_BREAK
1717case 83:
1718YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001719#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1720{ RET_ENUM(IPredicate, ICmpInst::ICMP_SGT, SGT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001721 YY_BREAK
1722case 84:
1723YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001724#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1725{ RET_ENUM(IPredicate, ICmpInst::ICMP_SLE, SLE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001726 YY_BREAK
1727case 85:
1728YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001729#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1730{ RET_ENUM(IPredicate, ICmpInst::ICMP_SGE, SGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001731 YY_BREAK
1732case 86:
1733YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001734#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1735{ RET_ENUM(IPredicate, ICmpInst::ICMP_ULT, ULT); }
Nate Begeman14b05292005-11-05 09:21:28 +00001736 YY_BREAK
1737case 87:
1738YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001739#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1740{ RET_ENUM(IPredicate, ICmpInst::ICMP_UGT, UGT); }
Chris Lattnere869eef2005-11-12 00:11:49 +00001741 YY_BREAK
1742case 88:
1743YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001744#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1745{ RET_ENUM(IPredicate, ICmpInst::ICMP_ULE, ULE); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001746 YY_BREAK
1747case 89:
1748YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001749#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1750{ RET_ENUM(IPredicate, ICmpInst::ICMP_UGE, UGE); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001751 YY_BREAK
1752case 90:
1753YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001754#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1755{ RET_ENUM(FPredicate, FCmpInst::FCMP_OEQ, ORDEQ); }
Chris Lattner8335e842006-01-23 23:05:42 +00001756 YY_BREAK
1757case 91:
1758YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001759#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1760{ RET_ENUM(FPredicate, FCmpInst::FCMP_ONE, ORDNE); }
Chris Lattner66316012006-01-24 04:14:29 +00001761 YY_BREAK
1762case 92:
1763YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001764#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1765{ RET_ENUM(FPredicate, FCmpInst::FCMP_OLT, ORDLT); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001766 YY_BREAK
1767case 93:
1768YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001769#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1770{ RET_ENUM(FPredicate, FCmpInst::FCMP_OGT, ORDGT); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001771 YY_BREAK
1772case 94:
1773YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001774#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1775{ RET_ENUM(FPredicate, FCmpInst::FCMP_OLE, ORDLE); }
Chris Lattner75466192006-05-19 21:28:53 +00001776 YY_BREAK
1777case 95:
1778YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001779#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1780{ RET_ENUM(FPredicate, FCmpInst::FCMP_OGE, ORDGE); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001781 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001782case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001783YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001784#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1785{ RET_ENUM(FPredicate, FCmpInst::FCMP_ORD, ORD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001786 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001787case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001788YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001789#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1790{ RET_ENUM(FPredicate, FCmpInst::FCMP_UNO, UNO); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001791 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001792case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001793YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001794#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1795{ RET_ENUM(FPredicate, FCmpInst::FCMP_UEQ, UNOEQ); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001796 YY_BREAK
1797case 99:
1798YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001799#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1800{ RET_ENUM(FPredicate, FCmpInst::FCMP_UNE, UNONE); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001801 YY_BREAK
1802case 100:
1803YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001804#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1805{ RET_ENUM(FPredicate, FCmpInst::FCMP_ULT, UNOLT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001806 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001807case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001808YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001809#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1810{ RET_ENUM(FPredicate, FCmpInst::FCMP_UGT, UNOGT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001811 YY_BREAK
1812case 102:
1813YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001814#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1815{ RET_ENUM(FPredicate, FCmpInst::FCMP_ULE, UNOLE); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001816 YY_BREAK
1817case 103:
1818YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001819#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1820{ RET_ENUM(FPredicate, FCmpInst::FCMP_UGE, UNOGE); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001821 YY_BREAK
1822case 104:
1823YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001824#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1825{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001826 YY_BREAK
1827case 105:
1828YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001829#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1830{ RET_TOK(OtherOpVal, Call, CALL); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001831 YY_BREAK
1832case 106:
1833YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001834#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1835{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001836 YY_BREAK
1837case 107:
1838YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001839#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1840{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001841 YY_BREAK
1842case 108:
1843YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001844#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1845{ RET_TOK(CastOpVal, SExt, SEXT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001846 YY_BREAK
1847case 109:
1848YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001849#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1850{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001851 YY_BREAK
1852case 110:
1853YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001854#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1855{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001856 YY_BREAK
1857case 111:
1858YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001859#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1860{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001861 YY_BREAK
1862case 112:
1863YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001864#line 308 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1865{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001866 YY_BREAK
1867case 113:
1868YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001869#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1870{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001871 YY_BREAK
1872case 114:
1873YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001874#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1875{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001876 YY_BREAK
1877case 115:
1878YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001879#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1880{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001881 YY_BREAK
1882case 116:
1883YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001884#line 312 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1885{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001886 YY_BREAK
1887case 117:
1888YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001889#line 313 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1890{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001891 YY_BREAK
1892case 118:
1893YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001894#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1895{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001896 YY_BREAK
1897case 119:
1898YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001899#line 315 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1900{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001901 YY_BREAK
1902case 120:
1903YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001904#line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1905{ RET_TOK(OtherOpVal, LShr, LSHR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001906 YY_BREAK
1907case 121:
1908YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00001909#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1910{ RET_TOK(OtherOpVal, AShr, ASHR); }
1911 YY_BREAK
1912case 122:
1913YY_RULE_SETUP
1914#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1915{ RET_TOK(OtherOpVal, VAArg , VAARG); }
1916 YY_BREAK
1917case 123:
1918YY_RULE_SETUP
1919#line 319 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1920{ RET_TOK(TermOpVal, Ret, RET); }
1921 YY_BREAK
1922case 124:
1923YY_RULE_SETUP
1924#line 320 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1925{ RET_TOK(TermOpVal, Br, BR); }
1926 YY_BREAK
1927case 125:
1928YY_RULE_SETUP
1929#line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1930{ RET_TOK(TermOpVal, Switch, SWITCH); }
1931 YY_BREAK
1932case 126:
1933YY_RULE_SETUP
1934#line 322 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1935{ RET_TOK(TermOpVal, Invoke, INVOKE); }
1936 YY_BREAK
1937case 127:
1938YY_RULE_SETUP
1939#line 323 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1940{ RET_TOK(TermOpVal, Unwind, UNWIND); }
1941 YY_BREAK
1942case 128:
1943YY_RULE_SETUP
1944#line 324 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1945{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
1946 YY_BREAK
1947case 129:
1948YY_RULE_SETUP
1949#line 326 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1950{ RET_TOK(MemOpVal, Malloc, MALLOC); }
1951 YY_BREAK
1952case 130:
1953YY_RULE_SETUP
1954#line 327 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1955{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
1956 YY_BREAK
1957case 131:
1958YY_RULE_SETUP
1959#line 328 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1960{ RET_TOK(MemOpVal, Free, FREE); }
1961 YY_BREAK
1962case 132:
1963YY_RULE_SETUP
1964#line 329 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1965{ RET_TOK(MemOpVal, Load, LOAD); }
1966 YY_BREAK
1967case 133:
1968YY_RULE_SETUP
1969#line 330 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1970{ RET_TOK(MemOpVal, Store, STORE); }
1971 YY_BREAK
1972case 134:
1973YY_RULE_SETUP
1974#line 331 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1975{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
1976 YY_BREAK
1977case 135:
1978YY_RULE_SETUP
1979#line 333 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1980{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
1981 YY_BREAK
1982case 136:
1983YY_RULE_SETUP
1984#line 334 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1985{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
1986 YY_BREAK
1987case 137:
1988YY_RULE_SETUP
1989#line 335 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1990{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
1991 YY_BREAK
1992case 138:
1993YY_RULE_SETUP
1994#line 338 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001995{
Owen Anderson1dc69692006-10-18 02:21:48 +00001996 UnEscapeLexed(yytext+1);
1997 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1998 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001999 }
2000 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002001case 139:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00002002YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002003#line 343 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00002004{
Owen Anderson1dc69692006-10-18 02:21:48 +00002005 yytext[strlen(yytext)-1] = 0; // nuke colon
2006 UnEscapeLexed(yytext);
2007 llvmAsmlval.StrVal = strdup(yytext);
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00002008 return LABELSTR;
2009 }
2010 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002011case 140:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00002012YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002013#line 349 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002014{
2015 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
2016 UnEscapeLexed(yytext+1);
2017 llvmAsmlval.StrVal = strdup(yytext+1);
2018 return LABELSTR;
2019 }
2020 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002021case 141:
Owen Anderson1dc69692006-10-18 02:21:48 +00002022YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002023#line 356 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002024{ // Note that we cannot unescape a string constant here! The
2025 // string constant might contain a \00 which would not be
2026 // understood by the string stuff. It is valid to make a
2027 // [sbyte] c"Hello World\00" constant, for example.
2028 //
Owen Anderson1dc69692006-10-18 02:21:48 +00002029 yytext[strlen(yytext)-1] = 0; // nuke end quote
2030 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00002031 return STRINGCONSTANT;
2032 }
2033 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002034case 142:
Chris Lattner75466192006-05-19 21:28:53 +00002035YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002036#line 367 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002037{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
2038 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002039case 143:
Owen Anderson1dc69692006-10-18 02:21:48 +00002040YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002041#line 368 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002042{
Owen Anderson1dc69692006-10-18 02:21:48 +00002043 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002044 // +1: we have bigger negative range
2045 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00002046 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002047 llvmAsmlval.SInt64Val = -Val;
2048 return ESINT64VAL;
2049 }
2050 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002051case 144:
Reid Spencer68a24bd2005-08-27 18:50:39 +00002052YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002053#line 376 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002054{
Owen Anderson1dc69692006-10-18 02:21:48 +00002055 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
2056 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
2057 }
2058 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002059case 145:
Owen Anderson1dc69692006-10-18 02:21:48 +00002060YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002061#line 381 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002062{
2063 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002064 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00002065 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002066 llvmAsmlval.UIntVal = unsigned(Val);
2067 return UINTVAL;
2068 }
2069 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002070case 146:
Reid Spencer68a24bd2005-08-27 18:50:39 +00002071YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002072#line 388 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002073{
Owen Anderson1dc69692006-10-18 02:21:48 +00002074 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002075 // +1: we have bigger negative range
2076 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00002077 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002078 llvmAsmlval.SIntVal = (int)-Val;
2079 return SINTVAL;
2080 }
2081 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002082case 147:
Chris Lattner75466192006-05-19 21:28:53 +00002083YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002084#line 397 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002085{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
2086 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002087case 148:
Owen Anderson1dc69692006-10-18 02:21:48 +00002088YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002089#line 398 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002090{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002091 YY_BREAK
2092case YY_STATE_EOF(INITIAL):
Reid Spencera132e042006-12-03 05:46:11 +00002093#line 400 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002094{
2095 /* Make sure to free the internal buffers for flex when we are
2096 * done reading our input!
2097 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002098 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002099 return EOF;
2100 }
2101 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002102case 149:
Chris Lattner75466192006-05-19 21:28:53 +00002103YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002104#line 408 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002105{ /* Ignore whitespace */ }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002106 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002107case 150:
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00002108YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002109#line 409 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002110{ return yytext[0]; }
2111 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002112case 151:
Owen Anderson1dc69692006-10-18 02:21:48 +00002113YY_RULE_SETUP
Reid Spencera132e042006-12-03 05:46:11 +00002114#line 411 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002115YY_FATAL_ERROR( "flex scanner jammed" );
2116 YY_BREAK
Reid Spencera132e042006-12-03 05:46:11 +00002117#line 2118 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002118
2119 case YY_END_OF_BUFFER:
2120 {
2121 /* Amount of text matched not including the EOB char. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002122 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002123
2124 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002125 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002126 YY_RESTORE_YY_MORE_OFFSET
2127
Owen Anderson1dc69692006-10-18 02:21:48 +00002128 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002129 {
2130 /* We're scanning a new file or input source. It's
2131 * possible that this happened because the user
Owen Anderson1dc69692006-10-18 02:21:48 +00002132 * just pointed yyin at a new source and called
2133 * yylex(). If so, then we have to assure
2134 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002135 * globals. Here is the right place to do so, because
2136 * this is the first action (other than possibly a
2137 * back-up) that will match for the new input source.
2138 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002139 yy_n_chars = yy_current_buffer->yy_n_chars;
2140 yy_current_buffer->yy_input_file = yyin;
2141 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002142 }
2143
2144 /* Note that here we test for yy_c_buf_p "<=" to the position
2145 * of the first EOB in the buffer, since yy_c_buf_p will
2146 * already have been incremented past the NUL character
2147 * (since all states make transitions on EOB to the
2148 * end-of-buffer state). Contrast this with the test
2149 * in input().
2150 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002151 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002152 { /* This was really a NUL. */
2153 yy_state_type yy_next_state;
2154
Owen Anderson1dc69692006-10-18 02:21:48 +00002155 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002156
Owen Anderson1dc69692006-10-18 02:21:48 +00002157 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002158
2159 /* Okay, we're now positioned to make the NUL
2160 * transition. We couldn't have
2161 * yy_get_previous_state() go ahead and do it
2162 * for us because it doesn't know how to deal
2163 * with the possibility of jamming (and we don't
2164 * want to build jamming into it because then it
2165 * will run more slowly).
2166 */
2167
2168 yy_next_state = yy_try_NUL_trans( yy_current_state );
2169
Owen Anderson1dc69692006-10-18 02:21:48 +00002170 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002171
2172 if ( yy_next_state )
2173 {
2174 /* Consume the NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002175 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002176 yy_current_state = yy_next_state;
2177 goto yy_match;
2178 }
2179
2180 else
2181 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002182 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002183 goto yy_find_action;
2184 }
2185 }
2186
Owen Anderson1dc69692006-10-18 02:21:48 +00002187 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002188 {
2189 case EOB_ACT_END_OF_FILE:
2190 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002191 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002192
Owen Anderson1dc69692006-10-18 02:21:48 +00002193 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002194 {
2195 /* Note: because we've taken care in
2196 * yy_get_next_buffer() to have set up
Owen Anderson1dc69692006-10-18 02:21:48 +00002197 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002198 * yy_c_buf_p so that if some total
2199 * hoser (like flex itself) wants to
2200 * call the scanner after we return the
2201 * YY_NULL, it'll still work - another
2202 * YY_NULL will get returned.
2203 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002204 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002205
2206 yy_act = YY_STATE_EOF(YY_START);
2207 goto do_action;
2208 }
2209
2210 else
2211 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002212 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002213 YY_NEW_FILE;
2214 }
2215 break;
2216 }
2217
2218 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002219 yy_c_buf_p =
2220 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002221
Owen Anderson1dc69692006-10-18 02:21:48 +00002222 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223
Owen Anderson1dc69692006-10-18 02:21:48 +00002224 yy_cp = yy_c_buf_p;
2225 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002226 goto yy_match;
2227
2228 case EOB_ACT_LAST_MATCH:
Owen Anderson1dc69692006-10-18 02:21:48 +00002229 yy_c_buf_p =
2230 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002231
Owen Anderson1dc69692006-10-18 02:21:48 +00002232 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002233
Owen Anderson1dc69692006-10-18 02:21:48 +00002234 yy_cp = yy_c_buf_p;
2235 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002236 goto yy_find_action;
2237 }
2238 break;
2239 }
2240
2241 default:
2242 YY_FATAL_ERROR(
2243 "fatal flex scanner internal error--no action found" );
2244 } /* end of action switch */
2245 } /* end of scanning one token */
Owen Anderson1dc69692006-10-18 02:21:48 +00002246 } /* end of yylex */
2247
Reid Spencer68a24bd2005-08-27 18:50:39 +00002248
2249/* yy_get_next_buffer - try to read in a new buffer
2250 *
2251 * Returns a code representing an action:
2252 * EOB_ACT_LAST_MATCH -
2253 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2254 * EOB_ACT_END_OF_FILE - end of file
2255 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002256
2257static int yy_get_next_buffer()
2258 {
2259 register char *dest = yy_current_buffer->yy_ch_buf;
2260 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002261 register int number_to_move, i;
2262 int ret_val;
2263
Owen Anderson1dc69692006-10-18 02:21:48 +00002264 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002265 YY_FATAL_ERROR(
2266 "fatal flex scanner internal error--end of buffer missed" );
2267
Owen Anderson1dc69692006-10-18 02:21:48 +00002268 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002269 { /* Don't try to fill the buffer, so this is an EOF. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002270 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002271 {
2272 /* We matched a single character, the EOB, so
2273 * treat this as a final EOF.
2274 */
2275 return EOB_ACT_END_OF_FILE;
2276 }
2277
2278 else
2279 {
2280 /* We matched some text prior to the EOB, first
2281 * process it.
2282 */
2283 return EOB_ACT_LAST_MATCH;
2284 }
2285 }
2286
2287 /* Try to read more data. */
2288
2289 /* First move last chars to start of buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002290 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291
2292 for ( i = 0; i < number_to_move; ++i )
2293 *(dest++) = *(source++);
2294
Owen Anderson1dc69692006-10-18 02:21:48 +00002295 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002296 /* don't do the read, it's not guaranteed to return an EOF,
2297 * just force an EOF
2298 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002299 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002300
2301 else
2302 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002303 int num_to_read =
2304 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002305
2306 while ( num_to_read <= 0 )
2307 { /* Not enough room in the buffer - grow it. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002308#ifdef YY_USES_REJECT
2309 YY_FATAL_ERROR(
2310"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2311#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002312
2313 /* just a shorter name for the current buffer */
Owen Anderson1dc69692006-10-18 02:21:48 +00002314 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002315
2316 int yy_c_buf_p_offset =
Owen Anderson1dc69692006-10-18 02:21:48 +00002317 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002318
2319 if ( b->yy_is_our_buffer )
2320 {
2321 int new_size = b->yy_buf_size * 2;
2322
2323 if ( new_size <= 0 )
2324 b->yy_buf_size += b->yy_buf_size / 8;
2325 else
2326 b->yy_buf_size *= 2;
2327
2328 b->yy_ch_buf = (char *)
2329 /* Include room in for 2 EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002330 yy_flex_realloc( (void *) b->yy_ch_buf,
2331 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002332 }
2333 else
2334 /* Can't grow it, we don't own it. */
2335 b->yy_ch_buf = 0;
2336
2337 if ( ! b->yy_ch_buf )
2338 YY_FATAL_ERROR(
2339 "fatal error - scanner input buffer overflow" );
2340
Owen Anderson1dc69692006-10-18 02:21:48 +00002341 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002342
Owen Anderson1dc69692006-10-18 02:21:48 +00002343 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002344 number_to_move - 1;
Owen Anderson1dc69692006-10-18 02:21:48 +00002345#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002346 }
2347
2348 if ( num_to_read > YY_READ_BUF_SIZE )
2349 num_to_read = YY_READ_BUF_SIZE;
2350
2351 /* Read in more data. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002352 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2353 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002354
Owen Anderson1dc69692006-10-18 02:21:48 +00002355 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002356 }
2357
Owen Anderson1dc69692006-10-18 02:21:48 +00002358 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002359 {
2360 if ( number_to_move == YY_MORE_ADJ )
2361 {
2362 ret_val = EOB_ACT_END_OF_FILE;
Owen Anderson1dc69692006-10-18 02:21:48 +00002363 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002364 }
2365
2366 else
2367 {
2368 ret_val = EOB_ACT_LAST_MATCH;
Owen Anderson1dc69692006-10-18 02:21:48 +00002369 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002370 YY_BUFFER_EOF_PENDING;
2371 }
2372 }
2373
2374 else
2375 ret_val = EOB_ACT_CONTINUE_SCAN;
2376
Owen Anderson1dc69692006-10-18 02:21:48 +00002377 yy_n_chars += number_to_move;
2378 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2379 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002380
Owen Anderson1dc69692006-10-18 02:21:48 +00002381 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002382
2383 return ret_val;
Owen Anderson1dc69692006-10-18 02:21:48 +00002384 }
2385
Reid Spencer68a24bd2005-08-27 18:50:39 +00002386
2387/* yy_get_previous_state - get the state just before the EOB char was reached */
2388
Owen Anderson1dc69692006-10-18 02:21:48 +00002389static yy_state_type yy_get_previous_state()
2390 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002391 register yy_state_type yy_current_state;
2392 register char *yy_cp;
2393
Owen Anderson1dc69692006-10-18 02:21:48 +00002394 yy_current_state = yy_start;
2395 yy_state_ptr = yy_state_buf;
2396 *yy_state_ptr++ = yy_current_state;
2397
2398 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002399 {
2400 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2401 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2402 {
2403 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencera132e042006-12-03 05:46:11 +00002404 if ( yy_current_state >= 587 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405 yy_c = yy_meta[(unsigned int) yy_c];
2406 }
2407 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Owen Anderson1dc69692006-10-18 02:21:48 +00002408 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002409 }
2410
2411 return yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002412 }
2413
Reid Spencer68a24bd2005-08-27 18:50:39 +00002414
2415/* yy_try_NUL_trans - try to make a transition on the NUL character
2416 *
2417 * synopsis
2418 * next_state = yy_try_NUL_trans( current_state );
2419 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002420
2421#ifdef YY_USE_PROTOS
2422static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2423#else
2424static yy_state_type yy_try_NUL_trans( yy_current_state )
2425yy_state_type yy_current_state;
2426#endif
2427 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002428 register int yy_is_jam;
2429
2430 register YY_CHAR yy_c = 1;
2431 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2432 {
2433 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencera132e042006-12-03 05:46:11 +00002434 if ( yy_current_state >= 587 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002435 yy_c = yy_meta[(unsigned int) yy_c];
2436 }
2437 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencera132e042006-12-03 05:46:11 +00002438 yy_is_jam = (yy_current_state == 586);
Owen Anderson1dc69692006-10-18 02:21:48 +00002439 if ( ! yy_is_jam )
2440 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002441
2442 return yy_is_jam ? 0 : yy_current_state;
Owen Anderson1dc69692006-10-18 02:21:48 +00002443 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002444
2445
Owen Anderson1dc69692006-10-18 02:21:48 +00002446#ifndef YY_NO_UNPUT
2447#ifdef YY_USE_PROTOS
2448static inline void yyunput( int c, register char *yy_bp )
2449#else
2450static inline void yyunput( c, yy_bp )
2451int c;
2452register char *yy_bp;
2453#endif
2454 {
2455 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002456
Owen Anderson1dc69692006-10-18 02:21:48 +00002457 /* undo effects of setting up yytext */
2458 *yy_cp = yy_hold_char;
2459
2460 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002461 { /* need to shift things up to make room */
2462 /* +2 for EOB chars. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002463 register int number_to_move = yy_n_chars + 2;
2464 register char *dest = &yy_current_buffer->yy_ch_buf[
2465 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002466 register char *source =
Owen Anderson1dc69692006-10-18 02:21:48 +00002467 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002468
Owen Anderson1dc69692006-10-18 02:21:48 +00002469 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002470 *--dest = *--source;
2471
2472 yy_cp += (int) (dest - source);
2473 yy_bp += (int) (dest - source);
Owen Anderson1dc69692006-10-18 02:21:48 +00002474 yy_current_buffer->yy_n_chars =
2475 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002476
Owen Anderson1dc69692006-10-18 02:21:48 +00002477 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002478 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2479 }
2480
2481 *--yy_cp = (char) c;
2482
Owen Anderson1dc69692006-10-18 02:21:48 +00002483 if ( c == '\n' )
2484 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002485
Owen Anderson1dc69692006-10-18 02:21:48 +00002486 yytext_ptr = yy_bp;
2487 yy_hold_char = *yy_cp;
2488 yy_c_buf_p = yy_cp;
2489 }
2490#endif /* ifndef YY_NO_UNPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002491
Owen Anderson1dc69692006-10-18 02:21:48 +00002492
Reid Spencer3da59db2006-11-27 01:05:10 +00002493#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002494#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +00002495static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002496#else
Owen Anderson1dc69692006-10-18 02:21:48 +00002497static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002498#endif
Owen Anderson1dc69692006-10-18 02:21:48 +00002499 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002500 int c;
2501
Owen Anderson1dc69692006-10-18 02:21:48 +00002502 *yy_c_buf_p = yy_hold_char;
2503
2504 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002505 {
2506 /* yy_c_buf_p now points to the character we want to return.
2507 * If this occurs *before* the EOB characters, then it's a
2508 * valid NUL; if not, then we've hit the end of the buffer.
2509 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002510 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002511 /* This was really a NUL. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002512 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002513
2514 else
2515 { /* need more input */
Owen Anderson1dc69692006-10-18 02:21:48 +00002516 int offset = yy_c_buf_p - yytext_ptr;
2517 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002518
Owen Anderson1dc69692006-10-18 02:21:48 +00002519 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002520 {
2521 case EOB_ACT_LAST_MATCH:
2522 /* This happens because yy_g_n_b()
2523 * sees that we've accumulated a
2524 * token and flags that we need to
2525 * try matching the token before
2526 * proceeding. But for input(),
2527 * there's no matching to consider.
2528 * So convert the EOB_ACT_LAST_MATCH
2529 * to EOB_ACT_END_OF_FILE.
2530 */
2531
2532 /* Reset buffer status. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002533 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002534
Owen Anderson1dc69692006-10-18 02:21:48 +00002535 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002536
2537 case EOB_ACT_END_OF_FILE:
2538 {
Owen Anderson1dc69692006-10-18 02:21:48 +00002539 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002540 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541
Owen Anderson1dc69692006-10-18 02:21:48 +00002542 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002543 YY_NEW_FILE;
2544#ifdef __cplusplus
2545 return yyinput();
2546#else
2547 return input();
2548#endif
2549 }
2550
2551 case EOB_ACT_CONTINUE_SCAN:
Owen Anderson1dc69692006-10-18 02:21:48 +00002552 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002553 break;
2554 }
2555 }
2556 }
2557
Owen Anderson1dc69692006-10-18 02:21:48 +00002558 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2559 *yy_c_buf_p = '\0'; /* preserve yytext */
2560 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002561
2562 if ( c == '\n' )
Owen Anderson1dc69692006-10-18 02:21:48 +00002563 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002564
2565 return c;
2566 }
Reid Spencer3da59db2006-11-27 01:05:10 +00002567#endif /* YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002568
Owen Anderson1dc69692006-10-18 02:21:48 +00002569#ifdef YY_USE_PROTOS
2570void yyrestart( FILE *input_file )
2571#else
2572void yyrestart( input_file )
2573FILE *input_file;
2574#endif
2575 {
2576 if ( ! yy_current_buffer )
2577 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2578
2579 yy_init_buffer( yy_current_buffer, input_file );
2580 yy_load_buffer_state();
2581 }
2582
2583
2584#ifdef YY_USE_PROTOS
2585void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2586#else
2587void yy_switch_to_buffer( new_buffer )
2588YY_BUFFER_STATE new_buffer;
2589#endif
2590 {
2591 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002592 return;
2593
Owen Anderson1dc69692006-10-18 02:21:48 +00002594 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002595 {
2596 /* Flush out information for old buffer. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002597 *yy_c_buf_p = yy_hold_char;
2598 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2599 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002600 }
2601
Owen Anderson1dc69692006-10-18 02:21:48 +00002602 yy_current_buffer = new_buffer;
2603 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002604
2605 /* We don't actually know whether we did this switch during
Owen Anderson1dc69692006-10-18 02:21:48 +00002606 * EOF (yywrap()) processing, but the only time this flag
2607 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002608 * to go ahead and always set it.
2609 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002610 yy_did_buffer_switch_on_eof = 1;
2611 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002612
2613
Owen Anderson1dc69692006-10-18 02:21:48 +00002614#ifdef YY_USE_PROTOS
2615void yy_load_buffer_state( void )
2616#else
2617void yy_load_buffer_state()
2618#endif
2619 {
2620 yy_n_chars = yy_current_buffer->yy_n_chars;
2621 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2622 yyin = yy_current_buffer->yy_input_file;
2623 yy_hold_char = *yy_c_buf_p;
2624 }
2625
2626
2627#ifdef YY_USE_PROTOS
2628YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2629#else
2630YY_BUFFER_STATE yy_create_buffer( file, size )
2631FILE *file;
2632int size;
2633#endif
2634 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002635 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002636
2637 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002638 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002639 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002640
2641 b->yy_buf_size = size;
2642
2643 /* yy_ch_buf has to be 2 characters longer than the size given because
2644 * we need to put in 2 end-of-buffer characters.
2645 */
Owen Anderson1dc69692006-10-18 02:21:48 +00002646 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002647 if ( ! b->yy_ch_buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002648 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002649
2650 b->yy_is_our_buffer = 1;
2651
Owen Anderson1dc69692006-10-18 02:21:48 +00002652 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002653
2654 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002655 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002656
Owen Anderson1dc69692006-10-18 02:21:48 +00002657
2658#ifdef YY_USE_PROTOS
2659void yy_delete_buffer( YY_BUFFER_STATE b )
2660#else
2661void yy_delete_buffer( b )
2662YY_BUFFER_STATE b;
2663#endif
2664 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002665 if ( ! b )
2666 return;
2667
Owen Anderson1dc69692006-10-18 02:21:48 +00002668 if ( b == yy_current_buffer )
2669 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002670
2671 if ( b->yy_is_our_buffer )
Owen Anderson1dc69692006-10-18 02:21:48 +00002672 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002673
Owen Anderson1dc69692006-10-18 02:21:48 +00002674 yy_flex_free( (void *) b );
2675 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002676
2677
Owen Anderson1dc69692006-10-18 02:21:48 +00002678
2679#ifdef YY_USE_PROTOS
2680void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2681#else
2682void yy_init_buffer( b, file )
2683YY_BUFFER_STATE b;
2684FILE *file;
2685#endif
2686
2687
2688 {
2689 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002690
2691 b->yy_input_file = file;
2692 b->yy_fill_buffer = 1;
2693
Owen Anderson1dc69692006-10-18 02:21:48 +00002694#if YY_ALWAYS_INTERACTIVE
2695 b->yy_is_interactive = 1;
2696#else
2697#if YY_NEVER_INTERACTIVE
2698 b->yy_is_interactive = 0;
2699#else
2700 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2701#endif
2702#endif
2703 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002704
2705
Owen Anderson1dc69692006-10-18 02:21:48 +00002706#ifdef YY_USE_PROTOS
2707void yy_flush_buffer( YY_BUFFER_STATE b )
2708#else
2709void yy_flush_buffer( b )
2710YY_BUFFER_STATE b;
2711#endif
2712
2713 {
2714 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002715 return;
2716
2717 b->yy_n_chars = 0;
2718
2719 /* We always need two end-of-buffer characters. The first causes
2720 * a transition to the end-of-buffer state. The second causes
2721 * a jam in that state.
2722 */
2723 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2724 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2725
2726 b->yy_buf_pos = &b->yy_ch_buf[0];
2727
2728 b->yy_at_bol = 1;
2729 b->yy_buffer_status = YY_BUFFER_NEW;
2730
Owen Anderson1dc69692006-10-18 02:21:48 +00002731 if ( b == yy_current_buffer )
2732 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002733 }
2734
2735
Owen Anderson1dc69692006-10-18 02:21:48 +00002736#ifndef YY_NO_SCAN_BUFFER
2737#ifdef YY_USE_PROTOS
2738YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2739#else
2740YY_BUFFER_STATE yy_scan_buffer( base, size )
2741char *base;
2742yy_size_t size;
2743#endif
2744 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002745 YY_BUFFER_STATE b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002746
Reid Spencer68a24bd2005-08-27 18:50:39 +00002747 if ( size < 2 ||
2748 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2749 base[size-1] != YY_END_OF_BUFFER_CHAR )
2750 /* They forgot to leave room for the EOB's. */
2751 return 0;
2752
Owen Anderson1dc69692006-10-18 02:21:48 +00002753 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002754 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002755 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002756
2757 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2758 b->yy_buf_pos = b->yy_ch_buf = base;
2759 b->yy_is_our_buffer = 0;
2760 b->yy_input_file = 0;
2761 b->yy_n_chars = b->yy_buf_size;
2762 b->yy_is_interactive = 0;
2763 b->yy_at_bol = 1;
2764 b->yy_fill_buffer = 0;
2765 b->yy_buffer_status = YY_BUFFER_NEW;
2766
Owen Anderson1dc69692006-10-18 02:21:48 +00002767 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002768
2769 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002770 }
2771#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002772
2773
Owen Anderson1dc69692006-10-18 02:21:48 +00002774#ifndef YY_NO_SCAN_STRING
2775#ifdef YY_USE_PROTOS
2776YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2777#else
2778YY_BUFFER_STATE yy_scan_string( yy_str )
2779yyconst char *yy_str;
2780#endif
2781 {
2782 int len;
2783 for ( len = 0; yy_str[len]; ++len )
2784 ;
2785
2786 return yy_scan_bytes( yy_str, len );
2787 }
2788#endif
2789
2790
2791#ifndef YY_NO_SCAN_BYTES
2792#ifdef YY_USE_PROTOS
2793YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2794#else
2795YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2796yyconst char *bytes;
2797int len;
2798#endif
2799 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002800 YY_BUFFER_STATE b;
2801 char *buf;
2802 yy_size_t n;
2803 int i;
Owen Anderson1dc69692006-10-18 02:21:48 +00002804
Reid Spencer68a24bd2005-08-27 18:50:39 +00002805 /* Get memory for full buffer, including space for trailing EOB's. */
Owen Anderson1dc69692006-10-18 02:21:48 +00002806 n = len + 2;
2807 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002808 if ( ! buf )
Owen Anderson1dc69692006-10-18 02:21:48 +00002809 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002810
Owen Anderson1dc69692006-10-18 02:21:48 +00002811 for ( i = 0; i < len; ++i )
2812 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002813
Owen Anderson1dc69692006-10-18 02:21:48 +00002814 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002815
Owen Anderson1dc69692006-10-18 02:21:48 +00002816 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002817 if ( ! b )
Owen Anderson1dc69692006-10-18 02:21:48 +00002818 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002819
2820 /* It's okay to grow etc. this buffer, and we should throw it
2821 * away when we're done.
2822 */
2823 b->yy_is_our_buffer = 1;
2824
2825 return b;
Owen Anderson1dc69692006-10-18 02:21:48 +00002826 }
2827#endif
2828
2829
2830#ifndef YY_NO_PUSH_STATE
2831#ifdef YY_USE_PROTOS
2832static void yy_push_state( int new_state )
2833#else
2834static void yy_push_state( new_state )
2835int new_state;
2836#endif
2837 {
2838 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2839 {
2840 yy_size_t new_size;
2841
2842 yy_start_stack_depth += YY_START_STACK_INCR;
2843 new_size = yy_start_stack_depth * sizeof( int );
2844
2845 if ( ! yy_start_stack )
2846 yy_start_stack = (int *) yy_flex_alloc( new_size );
2847
2848 else
2849 yy_start_stack = (int *) yy_flex_realloc(
2850 (void *) yy_start_stack, new_size );
2851
2852 if ( ! yy_start_stack )
2853 YY_FATAL_ERROR(
2854 "out of memory expanding start-condition stack" );
2855 }
2856
2857 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2858
2859 BEGIN(new_state);
2860 }
2861#endif
2862
2863
2864#ifndef YY_NO_POP_STATE
2865static void yy_pop_state()
2866 {
2867 if ( --yy_start_stack_ptr < 0 )
2868 YY_FATAL_ERROR( "start-condition stack underflow" );
2869
2870 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2871 }
2872#endif
2873
2874
2875#ifndef YY_NO_TOP_STATE
2876static int yy_top_state()
2877 {
2878 return yy_start_stack[yy_start_stack_ptr - 1];
2879 }
2880#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002881
2882#ifndef YY_EXIT_FAILURE
2883#define YY_EXIT_FAILURE 2
2884#endif
2885
Owen Anderson1dc69692006-10-18 02:21:48 +00002886#ifdef YY_USE_PROTOS
2887static void yy_fatal_error( yyconst char msg[] )
2888#else
2889static void yy_fatal_error( msg )
2890char msg[];
2891#endif
2892 {
2893 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002894 exit( YY_EXIT_FAILURE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002895 }
2896
2897
Reid Spencer68a24bd2005-08-27 18:50:39 +00002898
2899/* Redefine yyless() so it works in section 3 code. */
2900
2901#undef yyless
2902#define yyless(n) \
2903 do \
2904 { \
Owen Anderson1dc69692006-10-18 02:21:48 +00002905 /* Undo effects of setting up yytext. */ \
2906 yytext[yyleng] = yy_hold_char; \
2907 yy_c_buf_p = yytext + n; \
2908 yy_hold_char = *yy_c_buf_p; \
2909 *yy_c_buf_p = '\0'; \
2910 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002911 } \
2912 while ( 0 )
2913
2914
Owen Anderson1dc69692006-10-18 02:21:48 +00002915/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002916
2917#ifndef yytext_ptr
Owen Anderson1dc69692006-10-18 02:21:48 +00002918#ifdef YY_USE_PROTOS
2919static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2920#else
2921static void yy_flex_strncpy( s1, s2, n )
2922char *s1;
2923yyconst char *s2;
2924int n;
2925#endif
2926 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002927 register int i;
2928 for ( i = 0; i < n; ++i )
2929 s1[i] = s2[i];
Owen Anderson1dc69692006-10-18 02:21:48 +00002930 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002931#endif
2932
2933#ifdef YY_NEED_STRLEN
Owen Anderson1dc69692006-10-18 02:21:48 +00002934#ifdef YY_USE_PROTOS
2935static int yy_flex_strlen( yyconst char *s )
2936#else
2937static int yy_flex_strlen( s )
2938yyconst char *s;
2939#endif
2940 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002941 register int n;
2942 for ( n = 0; s[n]; ++n )
2943 ;
2944
2945 return n;
Owen Anderson1dc69692006-10-18 02:21:48 +00002946 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002947#endif
2948
Reid Spencer68a24bd2005-08-27 18:50:39 +00002949
Owen Anderson1dc69692006-10-18 02:21:48 +00002950#ifdef YY_USE_PROTOS
2951static void *yy_flex_alloc( yy_size_t size )
2952#else
2953static void *yy_flex_alloc( size )
2954yy_size_t size;
2955#endif
2956 {
2957 return (void *) malloc( size );
2958 }
2959
2960#ifdef YY_USE_PROTOS
2961static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2962#else
2963static inline void *yy_flex_realloc( ptr, size )
2964void *ptr;
2965yy_size_t size;
2966#endif
2967 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002968 /* The cast to (char *) in the following accommodates both
2969 * implementations that use char* generic pointers, and those
2970 * that use void* generic pointers. It works with the latter
2971 * because both ANSI C and C++ allow castless assignment from
2972 * any pointer type to void*, and deal with argument conversions
2973 * as though doing an assignment.
2974 */
2975 return (void *) realloc( (char *) ptr, size );
Owen Anderson1dc69692006-10-18 02:21:48 +00002976 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002977
Owen Anderson1dc69692006-10-18 02:21:48 +00002978#ifdef YY_USE_PROTOS
2979static void yy_flex_free( void *ptr )
2980#else
2981static void yy_flex_free( ptr )
2982void *ptr;
2983#endif
2984 {
2985 free( ptr );
2986 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002987
Owen Anderson1dc69692006-10-18 02:21:48 +00002988#if YY_MAIN
2989int main()
2990 {
2991 yylex();
2992 return 0;
2993 }
2994#endif
Reid Spencera132e042006-12-03 05:46:11 +00002995#line 411 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002996