blob: 51f989eaf9f8fc7dd422aa285fd88f9523a95ef6 [file] [log] [blame]
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +000019#line 20 "Lexer.cpp"
20/* A lexical scanner generated by flex*/
Reid Spencer68a24bd2005-08-27 18:50:39 +000021
Reid Spencer6f407902007-01-13 05:00:46 +000022/* Scanner skeleton version:
23 * $Header$
24 */
Owen Anderson1dc69692006-10-18 02:21:48 +000025
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 Spencer6f407902007-01-13 05:00:46 +000031#include <unistd.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000032
Anton Korobeynikov178a3522007-01-12 19:22:51 +000033
Reid Spencer6f407902007-01-13 05:00:46 +000034/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35#ifdef c_plusplus
36#ifndef __cplusplus
37#define __cplusplus
38#endif
Anton Korobeynikov178a3522007-01-12 19:22:51 +000039#endif
40
Anton Korobeynikov178a3522007-01-12 19:22:51 +000041
42#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +000043
Reid Spencer6f407902007-01-13 05:00:46 +000044#include <stdlib.h>
45
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
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +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 */
Reid Spencer6f407902007-01-13 05:00:46 +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 */
Reid Spencer6f407902007-01-13 05:00:46 +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". */
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +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 { \
Reid Spencer6f407902007-01-13 05:00:46 +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 \
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +0000154#define unput(c) yyunput( c, yytext_ptr )
155
156/* 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
Reid Spencer3da59db2006-11-27 01:05:10 +0000164
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
Reid Spencer6f407902007-01-13 05:00:46 +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"
Reid Spencer6f407902007-01-13 05:00:46 +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 Korobeynikov178a3522007-01-12 19:22:51 +0000227 };
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000228
Reid Spencer6f407902007-01-13 05:00:46 +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 */
Reid Spencer6f407902007-01-13 05:00:46 +0000235#define YY_CURRENT_BUFFER yy_current_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000236
237
Reid Spencer6f407902007-01-13 05:00:46 +0000238/* yy_hold_char holds the character lost when yytext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000239static char yy_hold_char;
Reid Spencer6f407902007-01-13 05:00:46 +0000240
Reid Spencer68a24bd2005-08-27 18:50:39 +0000241static int yy_n_chars; /* number of characters read into yy_ch_buf */
Reid Spencer6f407902007-01-13 05:00:46 +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;
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +0000256void yyrestart YY_PROTO(( FILE *input_file ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000257
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +0000270static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
271static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
272static void yy_flex_free YY_PROTO(( void * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +0000273
Reid Spencer6f407902007-01-13 05:00:46 +0000274#define yy_new_buffer yy_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000275
276#define yy_set_interactive(is_interactive) \
277 { \
Reid Spencer6f407902007-01-13 05:00:46 +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 { \
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +0000290#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291
292
Reid Spencer6f407902007-01-13 05:00:46 +0000293#define YY_USES_REJECT
294
295#define yywrap() 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000296#define YY_SKIP_YYWRAP
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000297typedef unsigned char YY_CHAR;
Reid Spencer6f407902007-01-13 05:00:46 +0000298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000299typedef int yy_state_type;
Reid Spencer6f407902007-01-13 05:00:46 +0000300extern int yylineno;
301int yylineno = 1;
302extern char *yytext;
303#define yytext_ptr yytext
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000304
Reid Spencer6f407902007-01-13 05:00:46 +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
Reid Spencer6f407902007-01-13 05:00:46 +0000311 * corresponding action - sets up yytext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000312 */
313#define YY_DO_BEFORE_ACTION \
Reid Spencer6f407902007-01-13 05:00:46 +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'; \
Reid Spencer6f407902007-01-13 05:00:46 +0000318 yy_c_buf_p = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319
Reid Spencer6f407902007-01-13 05:00:46 +0000320#define YY_NUM_RULES 135
321#define YY_END_OF_BUFFER 136
322static yyconst short int yy_acclist[215] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000323 { 0,
Reid Spencer6f407902007-01-13 05:00:46 +0000324 136, 134, 135, 133, 134, 135, 133, 135, 134, 135,
325 134, 135, 134, 135, 134, 135, 134, 135, 134, 135,
326 126, 134, 135, 126, 134, 135, 1, 134, 135, 134,
327 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
328 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
329 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
330 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
331 135, 134, 135, 125, 123, 122, 122, 129, 127, 131,
332 126, 1, 108, 40, 68, 53, 69, 64, 24, 125,
333 122, 122, 130, 131, 21, 131, 132, 54, 63, 38,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000334
Reid Spencer6f407902007-01-13 05:00:46 +0000335 33, 41, 3, 56, 78, 83, 81, 82, 80, 79,
336 84, 88, 107, 73, 71, 103, 72, 70, 55, 86,
337 77, 75, 76, 74, 87, 85, 65, 124, 131, 131,
338 105, 89, 67, 59, 115, 62, 66, 116, 104, 23,
339 128, 58, 92, 61, 25, 4, 51, 57, 60, 47,
340 12, 91, 131, 35, 2, 5, 48, 94, 50, 117,
341 90, 22, 114, 44, 7, 49, 29, 43, 98, 97,
342 8, 16, 110, 32, 113, 37, 52, 102, 96, 109,
343 26, 27, 95, 111, 106, 101, 42, 6, 28, 93,
344 36, 9, 18, 10, 99, 11, 100, 34, 13, 15,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000345
Reid Spencer6f407902007-01-13 05:00:46 +0000346 14, 31, 39, 17, 30, 112, 118, 120, 121, 45,
347 119, 19, 46, 20
Reid Spencer68a24bd2005-08-27 18:50:39 +0000348 } ;
349
Reid Spencer6f407902007-01-13 05:00:46 +0000350static yyconst short int yy_accept[555] =
351 { 0,
352 1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
353 17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
354 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
355 60, 62, 64, 66, 68, 70, 72, 74, 74, 75,
356 75, 76, 77, 78, 79, 79, 80, 80, 81, 82,
357 82, 83, 83, 83, 83, 83, 83, 83, 83, 84,
358 84, 85, 85, 85, 85, 85, 85, 85, 85, 86,
359 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
360 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
361 87, 88, 88, 88, 88, 88, 88, 88, 89, 89,
362
363 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
364 89, 89, 89, 89, 89, 90, 90, 90, 90, 90,
365 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
366 90, 91, 92, 94, 95, 96, 97, 97, 98, 99,
367 99, 99, 100, 100, 100, 101, 101, 102, 102, 102,
368 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
369 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
370 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
371 104, 104, 104, 104, 104, 105, 105, 106, 107, 108,
372 109, 110, 111, 111, 112, 113, 113, 113, 114, 114,
373
374 114, 114, 114, 114, 115, 116, 117, 117, 117, 117,
375 118, 119, 119, 119, 120, 120, 120, 120, 120, 120,
376 120, 120, 121, 122, 123, 123, 124, 125, 125, 126,
377 127, 127, 127, 127, 127, 127, 127, 127, 127, 128,
378 128, 128, 129, 130, 130, 130, 130, 131, 131, 131,
379 131, 132, 132, 132, 133, 133, 133, 133, 133, 133,
380 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
381 134, 135, 135, 135, 135, 135, 136, 137, 137, 137,
382 137, 138, 138, 138, 138, 138, 138, 138, 138, 138,
383 139, 140, 140, 140, 141, 141, 141, 141, 142, 143,
384
385 143, 143, 144, 144, 144, 144, 145, 145, 145, 146,
386 146, 146, 147, 147, 148, 149, 149, 149, 149, 149,
387 150, 150, 151, 151, 152, 152, 152, 153, 154, 155,
388 155, 155, 156, 156, 156, 156, 156, 156, 156, 156,
389 156, 156, 156, 156, 156, 156, 156, 157, 157, 158,
390 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
391 159, 159, 160, 160, 160, 160, 160, 160, 160, 160,
392 160, 160, 160, 160, 160, 161, 161, 161, 161, 162,
393 162, 163, 163, 163, 163, 163, 163, 163, 163, 164,
394 164, 164, 165, 165, 165, 165, 165, 166, 166, 166,
395
396 166, 167, 168, 168, 168, 169, 170, 171, 171, 171,
397 172, 173, 173, 173, 173, 173, 174, 174, 175, 176,
398 177, 178, 178, 178, 178, 179, 179, 179, 180, 181,
399 182, 183, 184, 184, 185, 186, 186, 186, 186, 186,
400 186, 187, 187, 188, 188, 189, 190, 190, 190, 190,
401 190, 190, 191, 191, 191, 191, 191, 191, 191, 191,
402 191, 192, 192, 192, 192, 192, 192, 192, 192, 192,
403 193, 193, 193, 193, 193, 194, 194, 194, 194, 194,
404 195, 196, 197, 197, 198, 198, 198, 198, 199, 199,
405 199, 199, 200, 200, 201, 202, 202, 202, 202, 202,
406
407 202, 202, 202, 202, 202, 202, 202, 202, 203, 203,
408 203, 203, 203, 203, 203, 203, 204, 204, 204, 204,
409 204, 205, 205, 205, 205, 205, 206, 206, 207, 207,
410 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
411 207, 208, 208, 209, 210, 210, 211, 211, 212, 213,
412 214, 214, 215, 215
413 } ;
414
415static yyconst int yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000416 { 0,
417 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
418 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
419 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
420 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000421 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
422 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
423 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000424 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
425 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000426 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000427
Reid Spencera54b7cb2007-01-12 07:05:14 +0000428 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
429 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
430 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
438
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 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
444 1, 1, 1, 1, 1
445 } ;
446
Reid Spencer6f407902007-01-13 05:00:46 +0000447static yyconst int yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000448 { 0,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000449 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
450 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000451 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000452 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
453 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000454 } ;
455
Reid Spencer6f407902007-01-13 05:00:46 +0000456static yyconst short int yy_base[559] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000457 { 0,
Reid Spencer6f407902007-01-13 05:00:46 +0000458 0, 0, 1200, 1201, 1201, 1201, 1195, 1184, 36, 40,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000459 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000460 108, 91, 77, 134, 92, 119, 93, 152, 126, 109,
Reid Spencer6f407902007-01-13 05:00:46 +0000461 178, 154, 209, 135, 111, 146, 112, 1193, 1201, 1182,
462 1201, 0, 159, 198, 215, 236, 70, 241, 256, 261,
463 0, 68, 147, 128, 165, 176, 73, 262, 1181, 31,
464 170, 166, 48, 49, 265, 185, 101, 198, 1180, 180,
465 227, 207, 208, 225, 274, 139, 276, 228, 278, 272,
466 229, 277, 280, 281, 290, 293, 282, 291, 292, 295,
467 1179, 301, 122, 308, 309, 311, 314, 304, 315, 321,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000468
Reid Spencer6f407902007-01-13 05:00:46 +0000469 322, 323, 324, 325, 326, 327, 330, 329, 335, 339,
470 342, 349, 356, 357, 1178, 359, 347, 361, 362, 364,
471 340, 367, 371, 368, 215, 381, 386, 395, 384, 385,
472 1177, 0, 402, 411, 1176, 425, 442, 0, 1175, 168,
473 411, 1174, 404, 416, 1173, 375, 1172, 419, 402, 1171,
474 443, 427, 444, 445, 403, 433, 415, 447, 448, 452,
475 455, 457, 458, 459, 461, 462, 463, 466, 473, 468,
476 469, 472, 474, 470, 483, 488, 491, 494, 496, 495,
477 498, 499, 500, 501, 1170, 502, 1169, 1168, 1167, 1166,
478 1165, 1164, 504, 1163, 1162, 505, 507, 1161, 535, 514,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000479
Reid Spencer6f407902007-01-13 05:00:46 +0000480 512, 519, 513, 1160, 1159, 1158, 516, 546, 529, 1157,
481 1156, 548, 549, 1155, 527, 508, 551, 552, 556, 554,
482 553, 1154, 1153, 1152, 557, 1151, 1150, 558, 1149, 1148,
483 559, 561, 560, 572, 579, 580, 569, 582, 1147, 566,
484 581, 1201, 592, 600, 609, 613, 618, 602, 620, 621,
485 1146, 622, 623, 1145, 624, 603, 625, 629, 630, 632,
486 633, 634, 636, 640, 637, 641, 645, 647, 651, 1144,
487 1143, 643, 653, 657, 654, 1142, 1141, 659, 660, 663,
488 1140, 664, 667, 668, 669, 670, 671, 675, 677, 1139,
489 1138, 680, 682, 1137, 683, 685, 691, 0, 1136, 690,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000490
Reid Spencer6f407902007-01-13 05:00:46 +0000491 694, 1135, 695, 702, 696, 1134, 704, 710, 1133, 712,
492 699, 1132, 715, 1131, 1130, 716, 718, 719, 720, 1129,
493 723, 1128, 725, 1127, 729, 727, 1126, 734, 1125, 736,
494 592, 1124, 734, 735, 738, 745, 749, 746, 750, 747,
495 755, 757, 760, 758, 761, 763, 1123, 764, 1122, 1121,
496 766, 768, 765, 777, 772, 773, 780, 762, 783, 784,
497 788, 1120, 789, 792, 791, 793, 795, 799, 794, 805,
498 809, 810, 811, 812, 1119, 814, 813, 815, 1118, 816,
499 1117, 820, 822, 817, 829, 833, 818, 834, 1116, 837,
500 839, 1115, 840, 845, 819, 844, 1114, 843, 846, 848,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000501
Reid Spencer6f407902007-01-13 05:00:46 +0000502 1113, 1112, 854, 849, 1111, 1110, 1109, 856, 855, 1108,
503 1107, 860, 861, 868, 867, 1106, 874, 1105, 1104, 1103,
504 1102, 875, 876, 877, 1101, 878, 879, 1100, 1099, 1098,
505 1097, 1096, 880, 1095, 1094, 882, 883, 891, 885, 884,
506 1093, 886, 1092, 888, 1091, 1090, 895, 900, 902, 903,
507 904, 1089, 908, 907, 910, 911, 912, 914, 915, 919,
508 1086, 920, 922, 927, 929, 930, 934, 935, 936, 1077,
509 939, 943, 944, 940, 1076, 946, 948, 950, 951, 1075,
510 1073, 1071, 955, 1070, 962, 952, 964, 1069, 969, 972,
511 974, 1068, 956, 1067, 1064, 975, 981, 978, 983, 982,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000512
Reid Spencer6f407902007-01-13 05:00:46 +0000513 957, 984, 985, 989, 992, 994, 995, 1063, 993, 996,
514 999, 1002, 1005, 1006, 1003, 1062, 1010, 1013, 1016, 1017,
515 1058, 1011, 1021, 1022, 1023, 954, 1024, 700, 1030, 1027,
516 1033, 1036, 1029, 1037, 1038, 1039, 1041, 1047, 1043, 1051,
517 521, 1049, 471, 432, 1052, 431, 1056, 365, 248, 247,
518 1057, 216, 1201, 1092, 1094, 107, 1098, 106
Reid Spencer68a24bd2005-08-27 18:50:39 +0000519 } ;
520
Reid Spencer6f407902007-01-13 05:00:46 +0000521static yyconst short int yy_def[559] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000522 { 0,
Reid Spencer6f407902007-01-13 05:00:46 +0000523 553, 1, 553, 553, 553, 553, 554, 555, 556, 553,
524 555, 555, 555, 555, 557, 555, 555, 555, 555, 555,
525 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
526 555, 555, 555, 555, 555, 555, 555, 554, 553, 555,
527 553, 558, 558, 553, 553, 555, 555, 555, 555, 555,
528 557, 555, 555, 555, 555, 555, 555, 555, 555, 555,
529 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
530 555, 555, 555, 555, 555, 555, 555, 555, 555, 24,
531 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
532 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000533
Reid Spencer6f407902007-01-13 05:00:46 +0000534 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
535 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
536 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
537 553, 558, 558, 553, 555, 555, 555, 50, 555, 555,
538 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
539 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
540 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
541 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
542 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
543 555, 555, 555, 555, 555, 555, 555, 555, 50, 555,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000544
Reid Spencer6f407902007-01-13 05:00:46 +0000545 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
546 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
547 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
548 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
549 555, 553, 553, 553, 553, 555, 555, 555, 555, 555,
550 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
551 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
552 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
553 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
554 555, 555, 555, 555, 555, 555, 555, 199, 555, 555,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000555
Reid Spencer6f407902007-01-13 05:00:46 +0000556 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
557 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
558 555, 555, 555, 555, 555, 555, 555, 553, 555, 555,
559 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
560 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
561 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
562 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
563 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
564 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
565 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000566
Reid Spencer6f407902007-01-13 05:00:46 +0000567 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
568 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
569 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
570 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
571 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
572 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
573 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
574 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
575 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
576 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000577
Reid Spencer6f407902007-01-13 05:00:46 +0000578 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
579 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
580 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
581 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
582 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
583 555, 555, 0, 553, 553, 553, 553, 553
Reid Spencer68a24bd2005-08-27 18:50:39 +0000584 } ;
585
Reid Spencer6f407902007-01-13 05:00:46 +0000586static yyconst short int yy_nxt[1245] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000587 { 0,
588 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000589 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000590 18, 19, 20, 21, 22, 23, 24, 8, 25, 26,
591 27, 28, 29, 8, 30, 31, 32, 33, 34, 35,
592 36, 8, 37, 43, 41, 44, 44, 44, 44, 45,
Reid Spencer6f407902007-01-13 05:00:46 +0000593 45, 45, 45, 46, 46, 46, 46, 41, 47, 149,
594 41, 41, 41, 41, 48, 49, 49, 49, 49, 41,
595 48, 49, 49, 49, 49, 41, 41, 68, 135, 41,
596 69, 41, 153, 41, 52, 154, 41, 70, 57, 139,
597 41, 53, 58, 54, 41, 55, 50, 146, 56, 60,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000598
Reid Spencer6f407902007-01-13 05:00:46 +0000599 59, 61, 41, 79, 41, 41, 41, 64, 132, 42,
600 84, 65, 62, 77, 41, 91, 63, 66, 85, 78,
601 67, 41, 41, 86, 41, 41, 71, 87, 72, 73,
602 92, 102, 41, 127, 130, 41, 74, 88, 159, 41,
603 75, 41, 76, 80, 80, 80, 80, 41, 41, 142,
604 89, 99, 41, 125, 81, 187, 90, 100, 128, 41,
605 41, 169, 101, 82, 83, 41, 126, 41, 133, 133,
606 133, 133, 114, 140, 93, 141, 94, 129, 41, 41,
607 95, 41, 96, 41, 97, 115, 98, 103, 116, 41,
608 150, 41, 248, 41, 151, 117, 152, 143, 41, 104,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000609
Reid Spencer6f407902007-01-13 05:00:46 +0000610 105, 144, 106, 107, 108, 145, 109, 44, 44, 44,
611 44, 41, 110, 158, 111, 112, 161, 113, 103, 160,
612 41, 41, 41, 134, 45, 45, 45, 45, 41, 41,
613 118, 119, 234, 120, 165, 121, 164, 122, 41, 123,
614 41, 41, 41, 124, 48, 46, 46, 46, 46, 41,
615 136, 136, 136, 136, 41, 162, 166, 137, 173, 171,
616 41, 41, 163, 137, 48, 49, 49, 49, 49, 41,
617 138, 138, 138, 138, 41, 41, 138, 138, 41, 138,
618 138, 138, 138, 138, 138, 155, 147, 41, 156, 41,
619 41, 41, 40, 41, 41, 41, 167, 157, 148, 172,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000620
Reid Spencer6f407902007-01-13 05:00:46 +0000621 178, 40, 40, 41, 41, 41, 41, 182, 41, 174,
622 168, 181, 170, 184, 41, 175, 176, 41, 177, 183,
623 179, 41, 41, 185, 41, 194, 180, 41, 41, 186,
624 188, 190, 193, 192, 41, 41, 41, 41, 41, 41,
625 41, 195, 41, 41, 189, 191, 201, 196, 41, 204,
626 208, 200, 41, 41, 202, 41, 197, 210, 206, 198,
627 41, 212, 41, 205, 199, 209, 203, 207, 214, 41,
628 41, 211, 41, 213, 41, 41, 225, 41, 41, 220,
629 41, 41, 215, 216, 41, 218, 223, 221, 41, 226,
630 233, 217, 228, 229, 41, 222, 219, 41, 41, 41,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000631
Reid Spencer6f407902007-01-13 05:00:46 +0000632 224, 252, 230, 227, 237, 231, 238, 235, 41, 236,
633 232, 133, 133, 133, 133, 41, 41, 41, 239, 240,
634 243, 243, 243, 243, 41, 241, 250, 244, 41, 41,
635 254, 259, 41, 244, 136, 136, 136, 136, 41, 253,
636 41, 137, 249, 261, 41, 41, 41, 137, 245, 246,
637 251, 247, 247, 247, 247, 41, 41, 41, 41, 260,
638 41, 41, 256, 258, 255, 41, 257, 264, 41, 262,
639 41, 41, 41, 263, 41, 41, 41, 266, 265, 41,
640 272, 41, 41, 41, 41, 41, 41, 41, 279, 267,
641 278, 270, 268, 280, 269, 276, 41, 274, 282, 271,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000642
Reid Spencer6f407902007-01-13 05:00:46 +0000643 275, 41, 277, 273, 41, 283, 281, 41, 41, 41,
644 284, 41, 41, 41, 41, 41, 287, 41, 41, 290,
645 41, 41, 286, 288, 285, 41, 41, 41, 292, 41,
646 294, 289, 41, 291, 41, 296, 309, 295, 293, 303,
647 41, 301, 41, 297, 298, 298, 298, 298, 300, 302,
648 298, 298, 299, 298, 298, 298, 298, 298, 298, 41,
649 305, 41, 41, 308, 41, 41, 41, 41, 304, 41,
650 41, 41, 41, 41, 41, 310, 314, 306, 312, 41,
651 317, 318, 41, 307, 311, 41, 313, 319, 316, 320,
652 321, 315, 41, 41, 41, 41, 324, 326, 323, 325,
Reid Spencer14310612006-12-31 05:40:51 +0000653
Reid Spencer6f407902007-01-13 05:00:46 +0000654 322, 243, 243, 243, 243, 41, 245, 245, 244, 328,
655 328, 328, 328, 390, 244, 41, 41, 327, 328, 328,
656 328, 328, 247, 247, 247, 247, 41, 247, 247, 247,
657 247, 41, 329, 41, 41, 41, 41, 41, 41, 335,
658 330, 333, 41, 41, 334, 41, 41, 41, 338, 41,
659 41, 331, 332, 41, 41, 344, 41, 337, 41, 340,
660 41, 336, 339, 346, 41, 342, 41, 41, 343, 347,
661 41, 348, 41, 41, 341, 345, 41, 41, 355, 349,
662 41, 41, 41, 41, 41, 356, 357, 354, 41, 350,
663 41, 353, 351, 41, 352, 41, 41, 361, 41, 362,
Reid Spencer14310612006-12-31 05:40:51 +0000664
Reid Spencer6f407902007-01-13 05:00:46 +0000665 360, 358, 359, 41, 41, 364, 363, 41, 41, 41,
666 366, 365, 41, 41, 371, 41, 370, 41, 372, 374,
667 367, 368, 369, 41, 373, 41, 375, 378, 41, 41,
668 376, 41, 41, 41, 377, 379, 41, 382, 41, 380,
669 41, 381, 41, 328, 328, 328, 328, 41, 41, 41,
670 383, 41, 386, 388, 389, 392, 393, 384, 41, 41,
671 41, 385, 41, 41, 387, 394, 398, 395, 41, 391,
672 41, 41, 397, 41, 41, 41, 41, 41, 41, 41,
673 396, 41, 401, 404, 405, 41, 41, 399, 402, 400,
674 41, 403, 406, 41, 407, 408, 41, 41, 413, 409,
Reid Spencer14310612006-12-31 05:40:51 +0000675
Reid Spencer6f407902007-01-13 05:00:46 +0000676 410, 41, 41, 411, 41, 41, 41, 41, 41, 412,
677 416, 419, 41, 414, 418, 420, 415, 421, 41, 417,
678 423, 422, 41, 41, 41, 41, 41, 41, 41, 41,
679 41, 41, 41, 41, 427, 41, 424, 431, 426, 429,
680 433, 435, 41, 434, 428, 425, 41, 41, 432, 430,
681 41, 437, 41, 41, 438, 436, 41, 41, 41, 41,
682 444, 41, 41, 440, 439, 443, 445, 41, 41, 41,
683 442, 449, 450, 41, 41, 441, 452, 447, 446, 448,
684 41, 41, 454, 455, 453, 451, 456, 41, 41, 41,
685 41, 41, 41, 41, 458, 41, 41, 41, 41, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000686
Reid Spencer6f407902007-01-13 05:00:46 +0000687 462, 41, 463, 457, 41, 464, 460, 461, 41, 459,
688 465, 468, 467, 41, 469, 41, 41, 41, 466, 471,
689 41, 41, 470, 41, 41, 41, 476, 41, 41, 472,
690 477, 475, 41, 41, 473, 41, 482, 478, 479, 480,
691 41, 474, 41, 41, 486, 487, 481, 41, 41, 41,
692 483, 488, 41, 41, 490, 484, 41, 41, 485, 41,
693 492, 41, 496, 41, 41, 41, 489, 41, 41, 41,
694 41, 491, 503, 500, 497, 41, 493, 41, 498, 494,
695 495, 501, 41, 504, 502, 41, 499, 41, 41, 505,
696 506, 41, 508, 509, 41, 41, 41, 41, 41, 514,
Reid Spencer14310612006-12-31 05:40:51 +0000697
Reid Spencer6f407902007-01-13 05:00:46 +0000698 507, 512, 41, 510, 515, 41, 41, 41, 41, 41,
699 518, 513, 41, 520, 511, 41, 41, 517, 41, 41,
700 521, 516, 519, 41, 41, 522, 41, 525, 526, 41,
701 41, 523, 528, 532, 41, 41, 41, 41, 524, 527,
702 41, 529, 41, 41, 530, 531, 41, 538, 534, 41,
703 41, 41, 41, 535, 41, 536, 41, 533, 537, 539,
704 41, 545, 41, 541, 41, 41, 540, 546, 542, 41,
705 41, 41, 550, 544, 543, 41, 41, 41, 551, 549,
706 41, 41, 41, 41, 41, 547, 41, 548, 41, 41,
707 41, 552, 38, 38, 38, 38, 40, 40, 51, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000708
Reid Spencer6f407902007-01-13 05:00:46 +0000709 51, 51, 41, 41, 41, 41, 41, 41, 41, 41,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000710 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
711 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
712 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
713 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
714 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
715 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
716 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
717 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
Reid Spencer6f407902007-01-13 05:00:46 +0000718 242, 41, 41, 41, 41, 41, 131, 41, 39, 553,
Chris Lattner75466192006-05-19 21:28:53 +0000719
Reid Spencer6f407902007-01-13 05:00:46 +0000720 3, 553, 553, 553, 553, 553, 553, 553, 553, 553,
721 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
722 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
723 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
724 553, 553, 553, 553
Reid Spencer68a24bd2005-08-27 18:50:39 +0000725 } ;
726
Reid Spencer6f407902007-01-13 05:00:46 +0000727static yyconst short int yy_chk[1245] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000728 { 0,
729 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
730 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
731 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
732 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer6f407902007-01-13 05:00:46 +0000733 1, 1, 1, 9, 60, 9, 9, 9, 9, 10,
734 10, 10, 10, 11, 11, 11, 11, 11, 12, 60,
735 20, 63, 64, 12, 13, 13, 13, 13, 13, 13,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000736 14, 14, 14, 14, 14, 14, 16, 20, 47, 17,
Reid Spencer6f407902007-01-13 05:00:46 +0000737 20, 52, 63, 47, 16, 64, 57, 20, 17, 52,
738 23, 16, 17, 16, 18, 16, 13, 57, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000739
Reid Spencer6f407902007-01-13 05:00:46 +0000740 17, 18, 19, 23, 22, 25, 27, 19, 558, 556,
741 25, 19, 18, 22, 67, 27, 18, 19, 25, 22,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000742 19, 21, 30, 25, 35, 37, 21, 25, 21, 21,
Reid Spencer6f407902007-01-13 05:00:46 +0000743 27, 30, 26, 35, 37, 93, 21, 26, 67, 29,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000744 21, 54, 21, 24, 24, 24, 24, 24, 34, 54,
Reid Spencer6f407902007-01-13 05:00:46 +0000745 26, 29, 76, 34, 24, 93, 26, 29, 36, 36,
746 53, 76, 29, 24, 24, 28, 34, 32, 43, 43,
747 43, 43, 32, 53, 28, 53, 28, 36, 55, 62,
748 28, 140, 28, 61, 28, 32, 28, 31, 32, 56,
749 61, 31, 140, 70, 62, 32, 62, 55, 66, 31,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000750
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000751 31, 56, 31, 31, 31, 56, 31, 44, 44, 44,
Reid Spencer6f407902007-01-13 05:00:46 +0000752 44, 68, 31, 66, 31, 31, 70, 31, 33, 68,
753 72, 73, 33, 45, 45, 45, 45, 45, 125, 552,
754 33, 33, 125, 33, 73, 33, 72, 33, 74, 33,
755 71, 78, 81, 33, 46, 46, 46, 46, 46, 46,
756 48, 48, 48, 48, 48, 71, 74, 48, 81, 78,
757 550, 549, 71, 48, 49, 49, 49, 49, 49, 49,
758 50, 50, 50, 50, 50, 58, 50, 50, 65, 50,
759 50, 50, 50, 50, 50, 65, 58, 75, 65, 77,
760 82, 79, 80, 83, 84, 87, 75, 65, 58, 79,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000761
Reid Spencer6f407902007-01-13 05:00:46 +0000762 84, 80, 80, 85, 88, 89, 86, 87, 90, 82,
763 75, 86, 77, 89, 92, 83, 83, 98, 83, 88,
764 85, 94, 95, 90, 96, 98, 85, 97, 99, 92,
765 94, 95, 97, 96, 100, 101, 102, 103, 104, 105,
766 106, 99, 108, 107, 94, 95, 105, 100, 109, 106,
767 108, 104, 110, 121, 105, 111, 101, 109, 107, 102,
768 117, 110, 112, 106, 103, 108, 105, 107, 112, 113,
769 114, 109, 116, 111, 118, 119, 121, 120, 548, 117,
770 122, 124, 113, 114, 123, 116, 120, 118, 146, 122,
771 124, 114, 123, 123, 126, 119, 116, 129, 130, 127,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000772
Reid Spencer6f407902007-01-13 05:00:46 +0000773 120, 146, 123, 122, 127, 123, 128, 126, 128, 126,
774 123, 133, 133, 133, 133, 149, 155, 143, 129, 130,
775 134, 134, 134, 134, 141, 130, 143, 134, 157, 144,
776 149, 155, 148, 134, 136, 136, 136, 136, 136, 148,
777 152, 136, 141, 157, 546, 544, 156, 136, 137, 137,
778 144, 137, 137, 137, 137, 137, 151, 153, 154, 156,
779 158, 159, 152, 154, 151, 160, 153, 159, 161, 158,
780 162, 163, 164, 158, 165, 166, 167, 161, 160, 168,
781 166, 170, 171, 174, 543, 172, 169, 173, 171, 161,
782 170, 164, 162, 172, 163, 169, 175, 168, 174, 165,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000783
Reid Spencer6f407902007-01-13 05:00:46 +0000784 168, 176, 169, 167, 177, 175, 173, 178, 180, 179,
785 176, 181, 182, 183, 184, 186, 178, 193, 196, 181,
786 197, 216, 177, 179, 176, 201, 203, 200, 183, 207,
787 186, 180, 202, 182, 541, 196, 216, 193, 184, 207,
788 215, 202, 209, 197, 199, 199, 199, 199, 201, 203,
789 199, 199, 200, 199, 199, 199, 199, 199, 199, 208,
790 209, 212, 213, 215, 217, 218, 221, 220, 208, 219,
791 225, 228, 231, 233, 232, 217, 220, 212, 219, 240,
792 228, 231, 237, 213, 218, 234, 219, 232, 225, 233,
793 234, 221, 235, 236, 241, 238, 237, 240, 236, 238,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000794
Reid Spencer6f407902007-01-13 05:00:46 +0000795 235, 243, 243, 243, 243, 331, 244, 244, 243, 244,
796 244, 244, 244, 331, 243, 248, 256, 241, 245, 245,
797 245, 245, 246, 246, 246, 246, 246, 247, 247, 247,
798 247, 247, 248, 249, 250, 252, 253, 255, 257, 256,
799 249, 253, 258, 259, 255, 260, 261, 262, 259, 263,
800 265, 250, 252, 264, 266, 265, 272, 258, 267, 261,
801 268, 257, 260, 267, 269, 263, 273, 275, 264, 268,
802 274, 269, 278, 279, 262, 266, 280, 282, 279, 272,
803 283, 284, 285, 286, 287, 280, 282, 278, 288, 273,
804 289, 275, 274, 292, 274, 293, 295, 286, 296, 287,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000805
Reid Spencer6f407902007-01-13 05:00:46 +0000806 285, 283, 284, 300, 297, 289, 288, 301, 303, 305,
807 293, 292, 311, 528, 301, 304, 300, 307, 303, 305,
808 295, 296, 297, 308, 304, 310, 307, 311, 313, 316,
809 308, 317, 318, 319, 310, 313, 321, 318, 323, 316,
810 326, 317, 325, 328, 328, 328, 328, 333, 334, 330,
811 319, 335, 325, 326, 330, 334, 335, 321, 336, 338,
812 340, 323, 337, 339, 325, 336, 340, 337, 341, 333,
813 342, 344, 339, 343, 345, 358, 346, 348, 353, 351,
814 338, 352, 343, 346, 348, 355, 356, 341, 344, 342,
815 354, 345, 351, 357, 352, 353, 359, 360, 358, 354,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000816
Reid Spencer6f407902007-01-13 05:00:46 +0000817 355, 361, 363, 356, 365, 364, 366, 369, 367, 357,
818 361, 365, 368, 359, 364, 366, 360, 367, 370, 363,
819 369, 368, 371, 372, 373, 374, 377, 376, 378, 380,
820 384, 387, 395, 382, 373, 383, 370, 378, 372, 376,
821 382, 384, 385, 383, 374, 371, 386, 388, 380, 377,
822 390, 386, 391, 393, 387, 385, 398, 396, 394, 399,
823 395, 400, 404, 390, 388, 394, 396, 403, 409, 408,
824 393, 403, 403, 412, 413, 391, 408, 399, 398, 400,
825 415, 414, 412, 413, 409, 404, 414, 417, 422, 423,
826 424, 426, 427, 433, 417, 436, 437, 440, 439, 442,
Chris Lattnere869eef2005-11-12 00:11:49 +0000827
Reid Spencer6f407902007-01-13 05:00:46 +0000828 426, 444, 427, 415, 438, 433, 423, 424, 447, 422,
829 436, 439, 438, 448, 440, 449, 450, 451, 437, 444,
830 454, 453, 442, 455, 456, 457, 451, 458, 459, 447,
831 453, 450, 460, 462, 448, 463, 458, 454, 455, 456,
832 464, 449, 465, 466, 463, 464, 457, 467, 468, 469,
833 459, 465, 471, 474, 467, 460, 472, 473, 462, 476,
834 469, 477, 474, 478, 479, 486, 466, 526, 483, 493,
835 501, 468, 486, 479, 476, 485, 471, 487, 477, 472,
836 473, 483, 489, 487, 485, 490, 478, 491, 496, 489,
837 490, 498, 493, 496, 497, 500, 499, 502, 503, 501,
Chris Lattner75466192006-05-19 21:28:53 +0000838
Reid Spencer6f407902007-01-13 05:00:46 +0000839 491, 499, 504, 497, 502, 505, 509, 506, 507, 510,
840 505, 500, 511, 507, 498, 512, 515, 504, 513, 514,
841 509, 503, 506, 517, 522, 510, 518, 513, 514, 519,
842 520, 511, 517, 522, 523, 524, 525, 527, 512, 515,
843 530, 518, 533, 529, 519, 520, 531, 530, 524, 532,
844 534, 535, 536, 525, 537, 527, 539, 523, 529, 531,
845 538, 537, 542, 533, 540, 545, 532, 538, 534, 547,
846 551, 521, 545, 536, 535, 516, 508, 495, 547, 542,
847 494, 492, 488, 484, 482, 539, 481, 540, 480, 475,
848 470, 551, 554, 554, 554, 554, 555, 555, 557, 461,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000849
Reid Spencer6f407902007-01-13 05:00:46 +0000850 557, 557, 452, 446, 445, 443, 441, 435, 434, 432,
851 431, 430, 429, 428, 425, 421, 420, 419, 418, 416,
852 411, 410, 407, 406, 405, 402, 401, 397, 392, 389,
853 381, 379, 375, 362, 350, 349, 347, 332, 329, 327,
854 324, 322, 320, 315, 314, 312, 309, 306, 302, 299,
855 294, 291, 290, 281, 277, 276, 271, 270, 254, 251,
856 239, 230, 229, 227, 226, 224, 223, 222, 214, 211,
857 210, 206, 205, 204, 198, 195, 194, 192, 191, 190,
858 189, 188, 187, 185, 150, 147, 145, 142, 139, 135,
859 131, 115, 91, 69, 59, 40, 38, 8, 7, 3,
Reid Spencer3da59db2006-11-27 01:05:10 +0000860
Reid Spencer6f407902007-01-13 05:00:46 +0000861 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
862 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
863 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
864 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
865 553, 553, 553, 553
Reid Spencer68a24bd2005-08-27 18:50:39 +0000866 } ;
867
Reid Spencer6f407902007-01-13 05:00:46 +0000868static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
869static char *yy_full_match;
870static int yy_lp;
871#define REJECT \
872{ \
873*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
874yy_cp = yy_full_match; /* restore poss. backed-over text */ \
875++yy_lp; \
876goto find_rule; \
877}
Reid Spencer68a24bd2005-08-27 18:50:39 +0000878#define yymore() yymore_used_but_not_detected
879#define YY_MORE_ADJ 0
880#define YY_RESTORE_YY_MORE_OFFSET
Reid Spencer6f407902007-01-13 05:00:46 +0000881char *yytext;
882#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
883#define INITIAL 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000884/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
885//
886// The LLVM Compiler Infrastructure
887//
888// This file was developed by the LLVM research group and is distributed under
889// the University of Illinois Open Source License. See LICENSE.TXT for details.
890//
891//===----------------------------------------------------------------------===//
892//
893// This file implements the flex scanner for LLVM assembly languages files.
894//
895//===----------------------------------------------------------------------===*/
Reid Spencer6f407902007-01-13 05:00:46 +0000896#define YY_NEVER_INTERACTIVE 1
897#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000898#include "ParserInternals.h"
899#include "llvm/Module.h"
900#include <list>
901#include "llvmAsmParser.h"
902#include <cctype>
903#include <cstdlib>
904
905void set_scan_file(FILE * F){
Reid Spencer6f407902007-01-13 05:00:46 +0000906 yy_switch_to_buffer(yy_create_buffer( F, YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000907}
908void set_scan_string (const char * str) {
Reid Spencer6f407902007-01-13 05:00:46 +0000909 yy_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000910}
911
Reid Spencer3ed469c2006-11-02 20:25:50 +0000912// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000913#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000914 llvmAsmlval.type = Instruction::Enum; \
915 return sym
916
Reid Spencer3ed469c2006-11-02 20:25:50 +0000917// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000918#define RET_TY(CTYPE, SYM) \
919 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000920 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000921
922namespace llvm {
923
924// TODO: All of the static identifiers are figured out by the lexer,
925// these should be hashed to reduce the lexer size
926
927
928// atoull - Convert an ascii string of decimal digits into the unsigned long
929// long representation... this does not have to do input error checking,
930// because we know that the input will be matched by a suitable regex...
931//
932static uint64_t atoull(const char *Buffer) {
933 uint64_t Result = 0;
934 for (; *Buffer; Buffer++) {
935 uint64_t OldRes = Result;
936 Result *= 10;
937 Result += *Buffer-'0';
938 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000939 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000940 }
941 return Result;
942}
943
944static uint64_t HexIntToVal(const char *Buffer) {
945 uint64_t Result = 0;
946 for (; *Buffer; ++Buffer) {
947 uint64_t OldRes = Result;
948 Result *= 16;
949 char C = *Buffer;
950 if (C >= '0' && C <= '9')
951 Result += C-'0';
952 else if (C >= 'A' && C <= 'F')
953 Result += C-'A'+10;
954 else if (C >= 'a' && C <= 'f')
955 Result += C-'a'+10;
956
957 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000958 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000959 }
960 return Result;
961}
962
963
964// HexToFP - Convert the ascii string in hexidecimal format to the floating
965// point representation of it.
966//
967static double HexToFP(const char *Buffer) {
968 // Behave nicely in the face of C TBAA rules... see:
969 // http://www.nullstone.com/htmls/category/aliastyp.htm
970 union {
971 uint64_t UI;
972 double FP;
973 } UIntToFP;
974 UIntToFP.UI = HexIntToVal(Buffer);
975
976 assert(sizeof(double) == sizeof(uint64_t) &&
977 "Data sizes incompatible on this target!");
978 return UIntToFP.FP; // Cast Hex constant to double
979}
980
981
982// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
983// appropriate character. If AllowNull is set to false, a \00 value will cause
984// an exception to be thrown.
985//
986// If AllowNull is set to true, the return value of the function points to the
987// last character of the string in memory.
988//
989char *UnEscapeLexed(char *Buffer, bool AllowNull) {
990 char *BOut = Buffer;
991 for (char *BIn = Buffer; *BIn; ) {
992 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
993 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
994 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
995 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +0000996 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000997
998 BIn[3] = Tmp; // Restore character
999 BIn += 3; // Skip over handled chars
1000 ++BOut;
1001 } else {
1002 *BOut++ = *BIn++;
1003 }
1004 }
1005
1006 return BOut;
1007}
1008
1009} // End llvm namespace
1010
1011using namespace llvm;
1012
1013#define YY_NEVER_INTERACTIVE 1
1014/* Comments start with a ; and go till end of line */
1015/* Variable(Value) identifiers start with a % sign */
1016/* Label identifiers end with a colon */
1017/* Quoted names can contain any character except " and \ */
1018/* [PN]Integer: match positive and negative literal integer values that
1019 * are preceeded by a '%' character. These represent unnamed variable slots.
1020 */
1021/* E[PN]Integer: match positive and negative literal integer values */
1022/* FPConstant - A Floating point constant.
1023 */
1024/* HexFPConstant - Floating point constant represented in IEEE format as a
1025 * hexadecimal number for when exponential notation is not precise enough.
1026 */
1027/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1028 * it to deal with 64 bit numbers.
1029 */
Reid Spencer6f407902007-01-13 05:00:46 +00001030#line 1031 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001031
1032/* Macros after this point can all be overridden by user definitions in
1033 * section 1.
1034 */
1035
1036#ifndef YY_SKIP_YYWRAP
1037#ifdef __cplusplus
Reid Spencer6f407902007-01-13 05:00:46 +00001038extern "C" int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001039#else
Reid Spencer6f407902007-01-13 05:00:46 +00001040extern int yywrap YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001041#endif
1042#endif
1043
Reid Spencer6f407902007-01-13 05:00:46 +00001044#ifndef YY_NO_UNPUT
1045static inline void yyunput YY_PROTO(( int c, char *buf_ptr ));
1046#endif
1047
Reid Spencer68a24bd2005-08-27 18:50:39 +00001048#ifndef yytext_ptr
Reid Spencer6f407902007-01-13 05:00:46 +00001049static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001050#endif
1051
1052#ifdef YY_NEED_STRLEN
Reid Spencer6f407902007-01-13 05:00:46 +00001053static int yy_flex_strlen YY_PROTO(( yyconst char * ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001054#endif
1055
1056#ifndef YY_NO_INPUT
1057#ifdef __cplusplus
Reid Spencer6f407902007-01-13 05:00:46 +00001058static int yyinput YY_PROTO(( void ));
Reid Spencer68a24bd2005-08-27 18:50:39 +00001059#else
Reid Spencer6f407902007-01-13 05:00:46 +00001060static int input YY_PROTO(( void ));
1061#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001062#endif
1063
Reid Spencer6f407902007-01-13 05:00:46 +00001064#if YY_STACK_USED
1065static int yy_start_stack_ptr = 0;
1066static int yy_start_stack_depth = 0;
1067static int *yy_start_stack = 0;
1068#ifndef YY_NO_PUSH_STATE
1069static void yy_push_state YY_PROTO(( int new_state ));
1070#endif
1071#ifndef YY_NO_POP_STATE
1072static void yy_pop_state YY_PROTO(( void ));
1073#endif
1074#ifndef YY_NO_TOP_STATE
1075static int yy_top_state YY_PROTO(( void ));
1076#endif
1077
1078#else
1079#define YY_NO_PUSH_STATE 1
1080#define YY_NO_POP_STATE 1
1081#define YY_NO_TOP_STATE 1
1082#endif
1083
1084#ifdef YY_MALLOC_DECL
1085YY_MALLOC_DECL
1086#else
1087#if __STDC__
1088#ifndef __cplusplus
1089#include <stdlib.h>
1090#endif
1091#else
1092/* Just try to get by without declaring the routines. This will fail
1093 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1094 * or sizeof(void*) != sizeof(int).
1095 */
1096#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001097#endif
1098
1099/* Amount of stuff to slurp up with each read. */
1100#ifndef YY_READ_BUF_SIZE
1101#define YY_READ_BUF_SIZE 8192
1102#endif
1103
1104/* Copy whatever the last rule matched to the standard output. */
Reid Spencer6f407902007-01-13 05:00:46 +00001105
Reid Spencer68a24bd2005-08-27 18:50:39 +00001106#ifndef ECHO
1107/* This used to be an fputs(), but since the string might contain NUL's,
1108 * we now use fwrite().
1109 */
Reid Spencer6f407902007-01-13 05:00:46 +00001110#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001111#endif
1112
1113/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1114 * is returned in "result".
1115 */
1116#ifndef YY_INPUT
1117#define YY_INPUT(buf,result,max_size) \
Reid Spencer6f407902007-01-13 05:00:46 +00001118 if ( yy_current_buffer->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001119 { \
Reid Spencer6f407902007-01-13 05:00:46 +00001120 int c = '*', n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001121 for ( n = 0; n < max_size && \
Reid Spencer6f407902007-01-13 05:00:46 +00001122 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001123 buf[n] = (char) c; \
1124 if ( c == '\n' ) \
1125 buf[n++] = (char) c; \
Reid Spencer6f407902007-01-13 05:00:46 +00001126 if ( c == EOF && ferror( yyin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001127 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1128 result = n; \
1129 } \
Reid Spencer6f407902007-01-13 05:00:46 +00001130 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1131 && ferror( yyin ) ) \
1132 YY_FATAL_ERROR( "input in flex scanner failed" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001133#endif
1134
1135/* No semi-colon after return; correct usage is to write "yyterminate();" -
1136 * we don't want an extra ';' after the "return" because that will cause
1137 * some compilers to complain about unreachable statements.
1138 */
1139#ifndef yyterminate
1140#define yyterminate() return YY_NULL
1141#endif
1142
1143/* Number of entries by which start-condition stack grows. */
1144#ifndef YY_START_STACK_INCR
1145#define YY_START_STACK_INCR 25
1146#endif
1147
1148/* Report a fatal error. */
1149#ifndef YY_FATAL_ERROR
1150#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1151#endif
1152
1153/* Default declaration of generated scanner - a define so the user can
1154 * easily add parameters.
1155 */
1156#ifndef YY_DECL
Reid Spencer6f407902007-01-13 05:00:46 +00001157#define YY_DECL int yylex YY_PROTO(( void ))
1158#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00001159
Reid Spencer6f407902007-01-13 05:00:46 +00001160/* Code executed at the beginning of each rule, after yytext and yyleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001161 * have been set up.
1162 */
1163#ifndef YY_USER_ACTION
1164#define YY_USER_ACTION
1165#endif
1166
1167/* Code executed at the end of each rule. */
1168#ifndef YY_BREAK
1169#define YY_BREAK break;
1170#endif
1171
1172#define YY_RULE_SETUP \
1173 YY_USER_ACTION
1174
1175YY_DECL
Reid Spencer6f407902007-01-13 05:00:46 +00001176 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00001177 register yy_state_type yy_current_state;
Reid Spencer6f407902007-01-13 05:00:46 +00001178 register char *yy_cp = NULL, *yy_bp = NULL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001179 register int yy_act;
Reid Spencer6f407902007-01-13 05:00:46 +00001180
1181#line 188 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001182
1183
Reid Spencer6f407902007-01-13 05:00:46 +00001184#line 1185 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001185
Reid Spencer6f407902007-01-13 05:00:46 +00001186 if ( yy_init )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001187 {
Reid Spencer6f407902007-01-13 05:00:46 +00001188 yy_init = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001189
1190#ifdef YY_USER_INIT
1191 YY_USER_INIT;
1192#endif
1193
Reid Spencer6f407902007-01-13 05:00:46 +00001194 if ( ! yy_start )
1195 yy_start = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001196
Reid Spencer6f407902007-01-13 05:00:46 +00001197 if ( ! yyin )
1198 yyin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001199
Reid Spencer6f407902007-01-13 05:00:46 +00001200 if ( ! yyout )
1201 yyout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001202
Reid Spencer6f407902007-01-13 05:00:46 +00001203 if ( ! yy_current_buffer )
1204 yy_current_buffer =
1205 yy_create_buffer( yyin, YY_BUF_SIZE );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001206
Reid Spencer6f407902007-01-13 05:00:46 +00001207 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00001208 }
1209
1210 while ( 1 ) /* loops until end-of-file is reached */
1211 {
Reid Spencer6f407902007-01-13 05:00:46 +00001212 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001213
Reid Spencer6f407902007-01-13 05:00:46 +00001214 /* Support of yytext. */
1215 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001216
1217 /* yy_bp points to the position in yy_ch_buf of the start of
1218 * the current run.
1219 */
1220 yy_bp = yy_cp;
1221
Reid Spencer6f407902007-01-13 05:00:46 +00001222 yy_current_state = yy_start;
1223 yy_state_ptr = yy_state_buf;
1224 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001225yy_match:
1226 do
1227 {
1228 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1229 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1230 {
1231 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer6f407902007-01-13 05:00:46 +00001232 if ( yy_current_state >= 554 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001233 yy_c = yy_meta[(unsigned int) yy_c];
1234 }
1235 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer6f407902007-01-13 05:00:46 +00001236 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001237 ++yy_cp;
1238 }
Reid Spencer6f407902007-01-13 05:00:46 +00001239 while ( yy_current_state != 553 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001240
1241yy_find_action:
Reid Spencer6f407902007-01-13 05:00:46 +00001242 yy_current_state = *--yy_state_ptr;
1243 yy_lp = yy_accept[yy_current_state];
1244find_rule: /* we branch to this label when backing up */
1245 for ( ; ; ) /* until we find what rule we matched */
1246 {
1247 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
1248 {
1249 yy_act = yy_acclist[yy_lp];
1250 {
1251 yy_full_match = yy_cp;
1252 break;
1253 }
1254 }
1255 --yy_cp;
1256 yy_current_state = *--yy_state_ptr;
1257 yy_lp = yy_accept[yy_current_state];
1258 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001259
1260 YY_DO_BEFORE_ACTION;
1261
Reid Spencer6f407902007-01-13 05:00:46 +00001262 if ( yy_act != YY_END_OF_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001263 {
1264 int yyl;
Reid Spencer6f407902007-01-13 05:00:46 +00001265 for ( yyl = 0; yyl < yyleng; ++yyl )
1266 if ( yytext[yyl] == '\n' )
1267 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001268 }
1269
1270do_action: /* This label is used only to access EOF actions. */
1271
Reid Spencer6f407902007-01-13 05:00:46 +00001272
Reid Spencer68a24bd2005-08-27 18:50:39 +00001273 switch ( yy_act )
1274 { /* beginning of action switch */
1275case 1:
1276YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001277#line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001278{ /* Ignore comments for now */ }
1279 YY_BREAK
1280case 2:
1281YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001282#line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001283{ return BEGINTOK; }
1284 YY_BREAK
1285case 3:
1286YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001287#line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001288{ return ENDTOK; }
1289 YY_BREAK
1290case 4:
1291YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001292#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001293{ return TRUETOK; }
1294 YY_BREAK
1295case 5:
1296YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001297#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001298{ return FALSETOK; }
1299 YY_BREAK
1300case 6:
1301YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001302#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001303{ return DECLARE; }
1304 YY_BREAK
1305case 7:
1306YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001307#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001308{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001309 YY_BREAK
1310case 8:
1311YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001312#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001313{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001314 YY_BREAK
1315case 9:
1316YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001317#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001318{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001319 YY_BREAK
1320case 10:
1321YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001322#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001323{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001324 YY_BREAK
1325case 11:
1326YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001327#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001328{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001329 YY_BREAK
1330case 12:
1331YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001332#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001333{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001334 YY_BREAK
1335case 13:
1336YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001337#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001338{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001339 YY_BREAK
1340case 14:
1341YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001342#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001343{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001344 YY_BREAK
1345case 15:
1346YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001347#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001348{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001349 YY_BREAK
1350case 16:
1351YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001352#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001353{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001354 YY_BREAK
1355case 17:
1356YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001357#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001358{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001359 YY_BREAK
1360case 18:
1361YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001362#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001363{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001364 YY_BREAK
1365case 19:
1366YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001367#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001368{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001369 YY_BREAK
1370case 20:
1371YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001372#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001373{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001374 YY_BREAK
1375case 21:
1376YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001377#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001378{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001379 YY_BREAK
1380case 22:
1381YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001382#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001383{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001384 YY_BREAK
1385case 23:
1386YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001387#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001388{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001389 YY_BREAK
1390case 24:
1391YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001392#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001393{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001394 YY_BREAK
1395case 25:
1396YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001397#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001398{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001399 YY_BREAK
1400case 26:
1401YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001402#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001403{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001404 YY_BREAK
1405case 27:
1406YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001407#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001408{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001409 YY_BREAK
1410case 28:
1411YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001412#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001413{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001414 YY_BREAK
1415case 29:
1416YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001417#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001418{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001419 YY_BREAK
1420case 30:
1421YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001422#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001423{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001424 YY_BREAK
1425case 31:
1426YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001427#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001428{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001429 YY_BREAK
1430case 32:
1431YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001432#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001433{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001434 YY_BREAK
1435case 33:
1436YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001437#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001438{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001439 YY_BREAK
1440case 34:
1441YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001442#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001443{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001444 YY_BREAK
1445case 35:
1446YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001447#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001448{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001449 YY_BREAK
1450case 36:
1451YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001452#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001453{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001454 YY_BREAK
1455case 37:
1456YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001457#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001458{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001459 YY_BREAK
1460case 38:
1461YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001462#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001463{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001464 YY_BREAK
1465case 39:
1466YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001467#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001468{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001469 YY_BREAK
1470case 40:
1471YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001472#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001473{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001474 YY_BREAK
1475case 41:
1476YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001477#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001478{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001479 YY_BREAK
1480case 42:
1481YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001482#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001483{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001484 YY_BREAK
1485case 43:
1486YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001487#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001488{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001489 YY_BREAK
1490case 44:
1491YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001492#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001493{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001494 YY_BREAK
1495case 45:
1496YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001497#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001498{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001499 YY_BREAK
1500case 46:
1501YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001502#line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001503{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001504 YY_BREAK
1505case 47:
1506YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001507#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001508{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001509 YY_BREAK
1510case 48:
1511YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001512#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1513{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001514 YY_BREAK
1515case 49:
1516YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001517#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1518{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001519 YY_BREAK
1520case 50:
1521YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001522#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1523{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001524 YY_BREAK
1525case 51:
1526YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001527#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1528{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001529 YY_BREAK
1530case 52:
1531YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001532#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1533{ return OPAQUE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001534 YY_BREAK
1535case 53:
1536YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001537#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1538{ uint64_t NumBits = atoull(yytext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001539 if (NumBits < IntegerType::MIN_INT_BITS ||
1540 NumBits > IntegerType::MAX_INT_BITS)
1541 GenerateError("Bitwidth for integer type out of range!");
1542 const Type* Ty = IntegerType::get(NumBits);
1543 RET_TY(Ty, INTTYPE);
1544 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001545 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001546case 54:
1547YY_RULE_SETUP
1548#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1549{ RET_TOK(BinaryOpVal, Add, ADD); }
1550 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001551case 55:
1552YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001553#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1554{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001555 YY_BREAK
1556case 56:
1557YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001558#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1559{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001560 YY_BREAK
1561case 57:
1562YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001563#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1564{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001565 YY_BREAK
1566case 58:
1567YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001568#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1569{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001570 YY_BREAK
1571case 59:
1572YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001573#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1574{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001575 YY_BREAK
1576case 60:
1577YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001578#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1579{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001580 YY_BREAK
1581case 61:
1582YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001583#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1584{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001585 YY_BREAK
1586case 62:
1587YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001588#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1589{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001590 YY_BREAK
1591case 63:
1592YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001593#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1594{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001595 YY_BREAK
1596case 64:
1597YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001598#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1599{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001600 YY_BREAK
1601case 65:
1602YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001603#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1604{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001605 YY_BREAK
1606case 66:
1607YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001608#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1609{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001610 YY_BREAK
1611case 67:
1612YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001613#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1614{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001615 YY_BREAK
1616case 68:
1617YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001618#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1619{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001620 YY_BREAK
1621case 69:
1622YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001623#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1624{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001625 YY_BREAK
1626case 70:
1627YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001628#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1629{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001630 YY_BREAK
1631case 71:
1632YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001633#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1634{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001635 YY_BREAK
1636case 72:
1637YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001638#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1639{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001640 YY_BREAK
1641case 73:
1642YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001643#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1644{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001645 YY_BREAK
1646case 74:
1647YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001648#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1649{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001650 YY_BREAK
1651case 75:
1652YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001653#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1654{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001655 YY_BREAK
1656case 76:
1657YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001658#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1659{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001660 YY_BREAK
1661case 77:
1662YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001663#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1664{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001665 YY_BREAK
1666case 78:
1667YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001668#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1669{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001670 YY_BREAK
1671case 79:
1672YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001673#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1674{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001675 YY_BREAK
1676case 80:
1677YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001678#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1679{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001680 YY_BREAK
1681case 81:
1682YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001683#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1684{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001685 YY_BREAK
1686case 82:
1687YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001688#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1689{ return OLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001690 YY_BREAK
1691case 83:
1692YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001693#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1694{ return OGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001695 YY_BREAK
1696case 84:
1697YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001698#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1699{ return ORD; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001700 YY_BREAK
1701case 85:
1702YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001703#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1704{ return UNO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001705 YY_BREAK
1706case 86:
1707YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001708#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1709{ return UEQ; }
Nate Begeman14b05292005-11-05 09:21:28 +00001710 YY_BREAK
1711case 87:
1712YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001713#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1714{ return UNE; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001715 YY_BREAK
1716case 88:
1717YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001718#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1719{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001720 YY_BREAK
1721case 89:
1722YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001723#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1724{ RET_TOK(OtherOpVal, Call, CALL); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001725 YY_BREAK
1726case 90:
1727YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001728#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1729{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner8335e842006-01-23 23:05:42 +00001730 YY_BREAK
1731case 91:
1732YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001733#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1734{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Chris Lattner66316012006-01-24 04:14:29 +00001735 YY_BREAK
1736case 92:
1737YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001738#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1739{ RET_TOK(CastOpVal, SExt, SEXT); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001740 YY_BREAK
1741case 93:
1742YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001743#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1744{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001745 YY_BREAK
1746case 94:
1747YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001748#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1749{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Chris Lattner75466192006-05-19 21:28:53 +00001750 YY_BREAK
1751case 95:
1752YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001753#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1754{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001755 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001756case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001757YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001758#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1759{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001760 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001761case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001762YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001763#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1764{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001765 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001766case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001767YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001768#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1769{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001770 YY_BREAK
1771case 99:
1772YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001773#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1774{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001775 YY_BREAK
1776case 100:
1777YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001778#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1779{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001780 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001781case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001782YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001783#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1784{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001785 YY_BREAK
1786case 102:
1787YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001788#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1789{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001790 YY_BREAK
1791case 103:
1792YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001793#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1794{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001795 YY_BREAK
1796case 104:
1797YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001798#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1799{ RET_TOK(OtherOpVal, LShr, LSHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001800 YY_BREAK
1801case 105:
1802YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001803#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1804{ RET_TOK(OtherOpVal, AShr, ASHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001805 YY_BREAK
1806case 106:
1807YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001808#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1809{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001810 YY_BREAK
1811case 107:
1812YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001813#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1814{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001815 YY_BREAK
1816case 108:
1817YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001818#line 308 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1819{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001820 YY_BREAK
1821case 109:
1822YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001823#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1824{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001825 YY_BREAK
1826case 110:
1827YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001828#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1829{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001830 YY_BREAK
1831case 111:
1832YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001833#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1834{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001835 YY_BREAK
1836case 112:
1837YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001838#line 312 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1839{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001840 YY_BREAK
1841case 113:
1842YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001843#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1844{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001845 YY_BREAK
1846case 114:
1847YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001848#line 315 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1849{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001850 YY_BREAK
1851case 115:
1852YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001853#line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1854{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001855 YY_BREAK
1856case 116:
1857YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001858#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1859{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001860 YY_BREAK
1861case 117:
1862YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001863#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1864{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001865 YY_BREAK
1866case 118:
1867YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001868#line 319 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1869{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001870 YY_BREAK
1871case 119:
1872YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001873#line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1874{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001875 YY_BREAK
1876case 120:
1877YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001878#line 322 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1879{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001880 YY_BREAK
1881case 121:
1882YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001883#line 323 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1884{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Reid Spencera132e042006-12-03 05:46:11 +00001885 YY_BREAK
1886case 122:
1887YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001888#line 326 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1889{
1890 UnEscapeLexed(yytext+1);
1891 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
1892 return VAR_ID;
1893 }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001894 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001895case 123:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001896YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001897#line 331 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001898{
Reid Spencer6f407902007-01-13 05:00:46 +00001899 yytext[strlen(yytext)-1] = 0; // nuke colon
1900 UnEscapeLexed(yytext);
1901 llvmAsmlval.StrVal = strdup(yytext);
1902 return LABELSTR;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001903 }
1904 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001905case 124:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001906YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001907#line 337 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001908{
Reid Spencer6f407902007-01-13 05:00:46 +00001909 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
1910 UnEscapeLexed(yytext+1);
1911 llvmAsmlval.StrVal = strdup(yytext+1);
Owen Anderson1dc69692006-10-18 02:21:48 +00001912 return LABELSTR;
1913 }
1914 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001915case 125:
Owen Anderson1dc69692006-10-18 02:21:48 +00001916YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001917#line 344 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001918{ // Note that we cannot unescape a string constant here! The
1919 // string constant might contain a \00 which would not be
1920 // understood by the string stuff. It is valid to make a
1921 // [sbyte] c"Hello World\00" constant, for example.
1922 //
Reid Spencer6f407902007-01-13 05:00:46 +00001923 yytext[strlen(yytext)-1] = 0; // nuke end quote
1924 llvmAsmlval.StrVal = strdup(yytext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001925 return STRINGCONSTANT;
1926 }
1927 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001928case 126:
1929YY_RULE_SETUP
1930#line 355 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1931{ llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
1932 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001933case 127:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001934YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001935#line 356 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001936{
Reid Spencer6f407902007-01-13 05:00:46 +00001937 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001938 // +1: we have bigger negative range
1939 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001940 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001941 llvmAsmlval.SInt64Val = -Val;
1942 return ESINT64VAL;
1943 }
1944 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001945case 128:
Owen Anderson1dc69692006-10-18 02:21:48 +00001946YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001947#line 364 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001948{
Reid Spencer6f407902007-01-13 05:00:46 +00001949 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
1950 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001951 }
1952 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001953case 129:
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001954YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001955#line 369 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001956{
Reid Spencer6f407902007-01-13 05:00:46 +00001957 uint64_t Val = atoull(yytext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001958 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00001959 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001960 llvmAsmlval.UIntVal = unsigned(Val);
1961 return UINTVAL;
1962 }
1963 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001964case 130:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001965YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001966#line 376 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001967{
Reid Spencer6f407902007-01-13 05:00:46 +00001968 uint64_t Val = atoull(yytext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001969 // +1: we have bigger negative range
1970 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00001971 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001972 llvmAsmlval.SIntVal = (int)-Val;
1973 return SINTVAL;
1974 }
1975 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001976case 131:
1977YY_RULE_SETUP
1978#line 385 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1979{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
1980 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001981case 132:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001982YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001983#line 386 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1984{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001985 YY_BREAK
1986case YY_STATE_EOF(INITIAL):
Reid Spencer6f407902007-01-13 05:00:46 +00001987#line 388 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001988{
1989 /* Make sure to free the internal buffers for flex when we are
1990 * done reading our input!
1991 */
Reid Spencer6f407902007-01-13 05:00:46 +00001992 yy_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001993 return EOF;
1994 }
1995 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00001996case 133:
Owen Anderson1dc69692006-10-18 02:21:48 +00001997YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00001998#line 396 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001999{ /* Ignore whitespace */ }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002000 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00002001case 134:
2002YY_RULE_SETUP
2003#line 397 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
2004{ return yytext[0]; }
2005 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00002006case 135:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002007YY_RULE_SETUP
Reid Spencer6f407902007-01-13 05:00:46 +00002008#line 399 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002009YY_FATAL_ERROR( "flex scanner jammed" );
2010 YY_BREAK
Reid Spencer6f407902007-01-13 05:00:46 +00002011#line 2012 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002012
2013 case YY_END_OF_BUFFER:
2014 {
2015 /* Amount of text matched not including the EOB char. */
Reid Spencer6f407902007-01-13 05:00:46 +00002016 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002017
2018 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Reid Spencer6f407902007-01-13 05:00:46 +00002019 *yy_cp = yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002020 YY_RESTORE_YY_MORE_OFFSET
2021
Reid Spencer6f407902007-01-13 05:00:46 +00002022 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002023 {
2024 /* We're scanning a new file or input source. It's
2025 * possible that this happened because the user
Reid Spencer6f407902007-01-13 05:00:46 +00002026 * just pointed yyin at a new source and called
2027 * yylex(). If so, then we have to assure
2028 * consistency between yy_current_buffer and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002029 * globals. Here is the right place to do so, because
2030 * this is the first action (other than possibly a
2031 * back-up) that will match for the new input source.
2032 */
Reid Spencer6f407902007-01-13 05:00:46 +00002033 yy_n_chars = yy_current_buffer->yy_n_chars;
2034 yy_current_buffer->yy_input_file = yyin;
2035 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002036 }
2037
2038 /* Note that here we test for yy_c_buf_p "<=" to the position
2039 * of the first EOB in the buffer, since yy_c_buf_p will
2040 * already have been incremented past the NUL character
2041 * (since all states make transitions on EOB to the
2042 * end-of-buffer state). Contrast this with the test
2043 * in input().
2044 */
Reid Spencer6f407902007-01-13 05:00:46 +00002045 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002046 { /* This was really a NUL. */
2047 yy_state_type yy_next_state;
2048
Reid Spencer6f407902007-01-13 05:00:46 +00002049 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002050
Reid Spencer6f407902007-01-13 05:00:46 +00002051 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002052
2053 /* Okay, we're now positioned to make the NUL
2054 * transition. We couldn't have
2055 * yy_get_previous_state() go ahead and do it
2056 * for us because it doesn't know how to deal
2057 * with the possibility of jamming (and we don't
2058 * want to build jamming into it because then it
2059 * will run more slowly).
2060 */
2061
2062 yy_next_state = yy_try_NUL_trans( yy_current_state );
2063
Reid Spencer6f407902007-01-13 05:00:46 +00002064 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002065
2066 if ( yy_next_state )
2067 {
2068 /* Consume the NUL. */
Reid Spencer6f407902007-01-13 05:00:46 +00002069 yy_cp = ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002070 yy_current_state = yy_next_state;
2071 goto yy_match;
2072 }
2073
2074 else
2075 {
Reid Spencer6f407902007-01-13 05:00:46 +00002076 yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002077 goto yy_find_action;
2078 }
2079 }
2080
Reid Spencer6f407902007-01-13 05:00:46 +00002081 else switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002082 {
2083 case EOB_ACT_END_OF_FILE:
2084 {
Reid Spencer6f407902007-01-13 05:00:46 +00002085 yy_did_buffer_switch_on_eof = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002086
Reid Spencer6f407902007-01-13 05:00:46 +00002087 if ( yywrap() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002088 {
2089 /* Note: because we've taken care in
2090 * yy_get_next_buffer() to have set up
Reid Spencer6f407902007-01-13 05:00:46 +00002091 * yytext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002092 * yy_c_buf_p so that if some total
2093 * hoser (like flex itself) wants to
2094 * call the scanner after we return the
2095 * YY_NULL, it'll still work - another
2096 * YY_NULL will get returned.
2097 */
Reid Spencer6f407902007-01-13 05:00:46 +00002098 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002099
2100 yy_act = YY_STATE_EOF(YY_START);
2101 goto do_action;
2102 }
2103
2104 else
2105 {
Reid Spencer6f407902007-01-13 05:00:46 +00002106 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002107 YY_NEW_FILE;
2108 }
2109 break;
2110 }
2111
2112 case EOB_ACT_CONTINUE_SCAN:
Reid Spencer6f407902007-01-13 05:00:46 +00002113 yy_c_buf_p =
2114 yytext_ptr + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002115
Reid Spencer6f407902007-01-13 05:00:46 +00002116 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002117
Reid Spencer6f407902007-01-13 05:00:46 +00002118 yy_cp = yy_c_buf_p;
2119 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002120 goto yy_match;
2121
2122 case EOB_ACT_LAST_MATCH:
Reid Spencer6f407902007-01-13 05:00:46 +00002123 yy_c_buf_p =
2124 &yy_current_buffer->yy_ch_buf[yy_n_chars];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002125
Reid Spencer6f407902007-01-13 05:00:46 +00002126 yy_current_state = yy_get_previous_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002127
Reid Spencer6f407902007-01-13 05:00:46 +00002128 yy_cp = yy_c_buf_p;
2129 yy_bp = yytext_ptr + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002130 goto yy_find_action;
2131 }
2132 break;
2133 }
2134
2135 default:
2136 YY_FATAL_ERROR(
2137 "fatal flex scanner internal error--no action found" );
2138 } /* end of action switch */
2139 } /* end of scanning one token */
Reid Spencer6f407902007-01-13 05:00:46 +00002140 } /* end of yylex */
2141
Reid Spencer68a24bd2005-08-27 18:50:39 +00002142
2143/* yy_get_next_buffer - try to read in a new buffer
2144 *
2145 * Returns a code representing an action:
2146 * EOB_ACT_LAST_MATCH -
2147 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2148 * EOB_ACT_END_OF_FILE - end of file
2149 */
Reid Spencer6f407902007-01-13 05:00:46 +00002150
2151static int yy_get_next_buffer()
2152 {
2153 register char *dest = yy_current_buffer->yy_ch_buf;
2154 register char *source = yytext_ptr;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002155 register int number_to_move, i;
2156 int ret_val;
2157
Reid Spencer6f407902007-01-13 05:00:46 +00002158 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002159 YY_FATAL_ERROR(
2160 "fatal flex scanner internal error--end of buffer missed" );
2161
Reid Spencer6f407902007-01-13 05:00:46 +00002162 if ( yy_current_buffer->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002163 { /* Don't try to fill the buffer, so this is an EOF. */
Reid Spencer6f407902007-01-13 05:00:46 +00002164 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002165 {
2166 /* We matched a single character, the EOB, so
2167 * treat this as a final EOF.
2168 */
2169 return EOB_ACT_END_OF_FILE;
2170 }
2171
2172 else
2173 {
2174 /* We matched some text prior to the EOB, first
2175 * process it.
2176 */
2177 return EOB_ACT_LAST_MATCH;
2178 }
2179 }
2180
2181 /* Try to read more data. */
2182
2183 /* First move last chars to start of buffer. */
Reid Spencer6f407902007-01-13 05:00:46 +00002184 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002185
2186 for ( i = 0; i < number_to_move; ++i )
2187 *(dest++) = *(source++);
2188
Reid Spencer6f407902007-01-13 05:00:46 +00002189 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002190 /* don't do the read, it's not guaranteed to return an EOF,
2191 * just force an EOF
2192 */
Reid Spencer6f407902007-01-13 05:00:46 +00002193 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002194
2195 else
2196 {
Reid Spencer6f407902007-01-13 05:00:46 +00002197 int num_to_read =
2198 yy_current_buffer->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002199
2200 while ( num_to_read <= 0 )
2201 { /* Not enough room in the buffer - grow it. */
Reid Spencer6f407902007-01-13 05:00:46 +00002202#ifdef YY_USES_REJECT
2203 YY_FATAL_ERROR(
2204"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2205#else
Reid Spencer68a24bd2005-08-27 18:50:39 +00002206
2207 /* just a shorter name for the current buffer */
Reid Spencer6f407902007-01-13 05:00:46 +00002208 YY_BUFFER_STATE b = yy_current_buffer;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002209
2210 int yy_c_buf_p_offset =
Reid Spencer6f407902007-01-13 05:00:46 +00002211 (int) (yy_c_buf_p - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002212
2213 if ( b->yy_is_our_buffer )
2214 {
2215 int new_size = b->yy_buf_size * 2;
2216
2217 if ( new_size <= 0 )
2218 b->yy_buf_size += b->yy_buf_size / 8;
2219 else
2220 b->yy_buf_size *= 2;
2221
2222 b->yy_ch_buf = (char *)
2223 /* Include room in for 2 EOB chars. */
Reid Spencer6f407902007-01-13 05:00:46 +00002224 yy_flex_realloc( (void *) b->yy_ch_buf,
2225 b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002226 }
2227 else
2228 /* Can't grow it, we don't own it. */
2229 b->yy_ch_buf = 0;
2230
2231 if ( ! b->yy_ch_buf )
2232 YY_FATAL_ERROR(
2233 "fatal error - scanner input buffer overflow" );
2234
Reid Spencer6f407902007-01-13 05:00:46 +00002235 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002236
Reid Spencer6f407902007-01-13 05:00:46 +00002237 num_to_read = yy_current_buffer->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002238 number_to_move - 1;
Reid Spencer6f407902007-01-13 05:00:46 +00002239#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002240 }
2241
2242 if ( num_to_read > YY_READ_BUF_SIZE )
2243 num_to_read = YY_READ_BUF_SIZE;
2244
2245 /* Read in more data. */
Reid Spencer6f407902007-01-13 05:00:46 +00002246 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2247 yy_n_chars, num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002248
Reid Spencer6f407902007-01-13 05:00:46 +00002249 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002250 }
2251
Reid Spencer6f407902007-01-13 05:00:46 +00002252 if ( yy_n_chars == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002253 {
2254 if ( number_to_move == YY_MORE_ADJ )
2255 {
2256 ret_val = EOB_ACT_END_OF_FILE;
Reid Spencer6f407902007-01-13 05:00:46 +00002257 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002258 }
2259
2260 else
2261 {
2262 ret_val = EOB_ACT_LAST_MATCH;
Reid Spencer6f407902007-01-13 05:00:46 +00002263 yy_current_buffer->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002264 YY_BUFFER_EOF_PENDING;
2265 }
2266 }
2267
2268 else
2269 ret_val = EOB_ACT_CONTINUE_SCAN;
2270
Reid Spencer6f407902007-01-13 05:00:46 +00002271 yy_n_chars += number_to_move;
2272 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2273 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002274
Reid Spencer6f407902007-01-13 05:00:46 +00002275 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002276
2277 return ret_val;
Reid Spencer6f407902007-01-13 05:00:46 +00002278 }
2279
Reid Spencer68a24bd2005-08-27 18:50:39 +00002280
2281/* yy_get_previous_state - get the state just before the EOB char was reached */
2282
Reid Spencer6f407902007-01-13 05:00:46 +00002283static yy_state_type yy_get_previous_state()
2284 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002285 register yy_state_type yy_current_state;
2286 register char *yy_cp;
2287
Reid Spencer6f407902007-01-13 05:00:46 +00002288 yy_current_state = yy_start;
2289 yy_state_ptr = yy_state_buf;
2290 *yy_state_ptr++ = yy_current_state;
2291
2292 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002293 {
2294 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2295 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2296 {
2297 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer6f407902007-01-13 05:00:46 +00002298 if ( yy_current_state >= 554 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002299 yy_c = yy_meta[(unsigned int) yy_c];
2300 }
2301 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer6f407902007-01-13 05:00:46 +00002302 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002303 }
2304
2305 return yy_current_state;
Reid Spencer6f407902007-01-13 05:00:46 +00002306 }
2307
Reid Spencer68a24bd2005-08-27 18:50:39 +00002308
2309/* yy_try_NUL_trans - try to make a transition on the NUL character
2310 *
2311 * synopsis
2312 * next_state = yy_try_NUL_trans( current_state );
2313 */
Reid Spencer6f407902007-01-13 05:00:46 +00002314
2315#ifdef YY_USE_PROTOS
2316static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2317#else
2318static yy_state_type yy_try_NUL_trans( yy_current_state )
2319yy_state_type yy_current_state;
2320#endif
2321 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002322 register int yy_is_jam;
2323
2324 register YY_CHAR yy_c = 1;
2325 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2326 {
2327 yy_current_state = (int) yy_def[yy_current_state];
Reid Spencer6f407902007-01-13 05:00:46 +00002328 if ( yy_current_state >= 554 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002329 yy_c = yy_meta[(unsigned int) yy_c];
2330 }
2331 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer6f407902007-01-13 05:00:46 +00002332 yy_is_jam = (yy_current_state == 553);
2333 if ( ! yy_is_jam )
2334 *yy_state_ptr++ = yy_current_state;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002335
2336 return yy_is_jam ? 0 : yy_current_state;
Reid Spencer6f407902007-01-13 05:00:46 +00002337 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002338
2339
Reid Spencer6f407902007-01-13 05:00:46 +00002340#ifndef YY_NO_UNPUT
2341#ifdef YY_USE_PROTOS
2342static inline void yyunput( int c, register char *yy_bp )
2343#else
2344static inline void yyunput( c, yy_bp )
2345int c;
2346register char *yy_bp;
2347#endif
2348 {
2349 register char *yy_cp = yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002350
Reid Spencer6f407902007-01-13 05:00:46 +00002351 /* undo effects of setting up yytext */
2352 *yy_cp = yy_hold_char;
2353
2354 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002355 { /* need to shift things up to make room */
2356 /* +2 for EOB chars. */
Reid Spencer6f407902007-01-13 05:00:46 +00002357 register int number_to_move = yy_n_chars + 2;
2358 register char *dest = &yy_current_buffer->yy_ch_buf[
2359 yy_current_buffer->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002360 register char *source =
Reid Spencer6f407902007-01-13 05:00:46 +00002361 &yy_current_buffer->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002362
Reid Spencer6f407902007-01-13 05:00:46 +00002363 while ( source > yy_current_buffer->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002364 *--dest = *--source;
2365
2366 yy_cp += (int) (dest - source);
2367 yy_bp += (int) (dest - source);
Reid Spencer6f407902007-01-13 05:00:46 +00002368 yy_current_buffer->yy_n_chars =
2369 yy_n_chars = yy_current_buffer->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002370
Reid Spencer6f407902007-01-13 05:00:46 +00002371 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002372 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2373 }
2374
2375 *--yy_cp = (char) c;
2376
Reid Spencer6f407902007-01-13 05:00:46 +00002377 if ( c == '\n' )
2378 --yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002379
Reid Spencer6f407902007-01-13 05:00:46 +00002380 yytext_ptr = yy_bp;
2381 yy_hold_char = *yy_cp;
2382 yy_c_buf_p = yy_cp;
2383 }
2384#endif /* ifndef YY_NO_UNPUT */
2385
Owen Anderson1dc69692006-10-18 02:21:48 +00002386
Reid Spencer3da59db2006-11-27 01:05:10 +00002387#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002388#ifdef __cplusplus
Reid Spencer6f407902007-01-13 05:00:46 +00002389static int yyinput()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002390#else
Reid Spencer6f407902007-01-13 05:00:46 +00002391static int input()
Reid Spencer68a24bd2005-08-27 18:50:39 +00002392#endif
Reid Spencer6f407902007-01-13 05:00:46 +00002393 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002394 int c;
2395
Reid Spencer6f407902007-01-13 05:00:46 +00002396 *yy_c_buf_p = yy_hold_char;
2397
2398 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002399 {
2400 /* yy_c_buf_p now points to the character we want to return.
2401 * If this occurs *before* the EOB characters, then it's a
2402 * valid NUL; if not, then we've hit the end of the buffer.
2403 */
Reid Spencer6f407902007-01-13 05:00:46 +00002404 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002405 /* This was really a NUL. */
Reid Spencer6f407902007-01-13 05:00:46 +00002406 *yy_c_buf_p = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002407
2408 else
2409 { /* need more input */
Reid Spencer6f407902007-01-13 05:00:46 +00002410 int offset = yy_c_buf_p - yytext_ptr;
2411 ++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002412
Reid Spencer6f407902007-01-13 05:00:46 +00002413 switch ( yy_get_next_buffer() )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002414 {
2415 case EOB_ACT_LAST_MATCH:
2416 /* This happens because yy_g_n_b()
2417 * sees that we've accumulated a
2418 * token and flags that we need to
2419 * try matching the token before
2420 * proceeding. But for input(),
2421 * there's no matching to consider.
2422 * So convert the EOB_ACT_LAST_MATCH
2423 * to EOB_ACT_END_OF_FILE.
2424 */
2425
2426 /* Reset buffer status. */
Reid Spencer6f407902007-01-13 05:00:46 +00002427 yyrestart( yyin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002428
Reid Spencer6f407902007-01-13 05:00:46 +00002429 /* fall through */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002430
2431 case EOB_ACT_END_OF_FILE:
2432 {
Reid Spencer6f407902007-01-13 05:00:46 +00002433 if ( yywrap() )
Reid Spencer61c83e02006-08-18 08:43:06 +00002434 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002435
Reid Spencer6f407902007-01-13 05:00:46 +00002436 if ( ! yy_did_buffer_switch_on_eof )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002437 YY_NEW_FILE;
2438#ifdef __cplusplus
2439 return yyinput();
2440#else
2441 return input();
2442#endif
2443 }
2444
2445 case EOB_ACT_CONTINUE_SCAN:
Reid Spencer6f407902007-01-13 05:00:46 +00002446 yy_c_buf_p = yytext_ptr + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002447 break;
2448 }
2449 }
2450 }
2451
Reid Spencer6f407902007-01-13 05:00:46 +00002452 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2453 *yy_c_buf_p = '\0'; /* preserve yytext */
2454 yy_hold_char = *++yy_c_buf_p;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002455
2456 if ( c == '\n' )
Reid Spencer6f407902007-01-13 05:00:46 +00002457 ++yylineno;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002458
2459 return c;
Reid Spencer6f407902007-01-13 05:00:46 +00002460 }
2461#endif /* YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002462
Reid Spencer6f407902007-01-13 05:00:46 +00002463#ifdef YY_USE_PROTOS
2464void yyrestart( FILE *input_file )
2465#else
2466void yyrestart( input_file )
2467FILE *input_file;
2468#endif
2469 {
2470 if ( ! yy_current_buffer )
2471 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2472
2473 yy_init_buffer( yy_current_buffer, input_file );
2474 yy_load_buffer_state();
Owen Anderson1dc69692006-10-18 02:21:48 +00002475 }
2476
2477
Reid Spencer6f407902007-01-13 05:00:46 +00002478#ifdef YY_USE_PROTOS
2479void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2480#else
2481void yy_switch_to_buffer( new_buffer )
2482YY_BUFFER_STATE new_buffer;
2483#endif
2484 {
2485 if ( yy_current_buffer == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002486 return;
2487
Reid Spencer6f407902007-01-13 05:00:46 +00002488 if ( yy_current_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002489 {
2490 /* Flush out information for old buffer. */
Reid Spencer6f407902007-01-13 05:00:46 +00002491 *yy_c_buf_p = yy_hold_char;
2492 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2493 yy_current_buffer->yy_n_chars = yy_n_chars;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002494 }
2495
Reid Spencer6f407902007-01-13 05:00:46 +00002496 yy_current_buffer = new_buffer;
2497 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002498
2499 /* We don't actually know whether we did this switch during
Reid Spencer6f407902007-01-13 05:00:46 +00002500 * EOF (yywrap()) processing, but the only time this flag
2501 * is looked at is after yywrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002502 * to go ahead and always set it.
2503 */
Reid Spencer6f407902007-01-13 05:00:46 +00002504 yy_did_buffer_switch_on_eof = 1;
2505 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002506
2507
Reid Spencer6f407902007-01-13 05:00:46 +00002508#ifdef YY_USE_PROTOS
2509void yy_load_buffer_state( void )
2510#else
2511void yy_load_buffer_state()
2512#endif
2513 {
2514 yy_n_chars = yy_current_buffer->yy_n_chars;
2515 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2516 yyin = yy_current_buffer->yy_input_file;
2517 yy_hold_char = *yy_c_buf_p;
2518 }
2519
2520
2521#ifdef YY_USE_PROTOS
2522YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2523#else
2524YY_BUFFER_STATE yy_create_buffer( file, size )
2525FILE *file;
2526int size;
2527#endif
2528 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002529 YY_BUFFER_STATE b;
Reid Spencer6f407902007-01-13 05:00:46 +00002530
2531 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002532 if ( ! b )
Reid Spencer6f407902007-01-13 05:00:46 +00002533 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002534
2535 b->yy_buf_size = size;
2536
2537 /* yy_ch_buf has to be 2 characters longer than the size given because
2538 * we need to put in 2 end-of-buffer characters.
2539 */
Reid Spencer6f407902007-01-13 05:00:46 +00002540 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002541 if ( ! b->yy_ch_buf )
Reid Spencer6f407902007-01-13 05:00:46 +00002542 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002543
2544 b->yy_is_our_buffer = 1;
2545
Reid Spencer6f407902007-01-13 05:00:46 +00002546 yy_init_buffer( b, file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002547
2548 return b;
Reid Spencer6f407902007-01-13 05:00:46 +00002549 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002550
Reid Spencer6f407902007-01-13 05:00:46 +00002551
2552#ifdef YY_USE_PROTOS
2553void yy_delete_buffer( YY_BUFFER_STATE b )
2554#else
2555void yy_delete_buffer( b )
2556YY_BUFFER_STATE b;
2557#endif
2558 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002559 if ( ! b )
2560 return;
2561
Reid Spencer6f407902007-01-13 05:00:46 +00002562 if ( b == yy_current_buffer )
2563 yy_current_buffer = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002564
2565 if ( b->yy_is_our_buffer )
Reid Spencer6f407902007-01-13 05:00:46 +00002566 yy_flex_free( (void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002567
Reid Spencer6f407902007-01-13 05:00:46 +00002568 yy_flex_free( (void *) b );
2569 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002570
2571
Reid Spencer6f407902007-01-13 05:00:46 +00002572
2573#ifdef YY_USE_PROTOS
2574void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2575#else
2576void yy_init_buffer( b, file )
2577YY_BUFFER_STATE b;
2578FILE *file;
2579#endif
2580
2581
2582 {
2583 yy_flush_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002584
2585 b->yy_input_file = file;
2586 b->yy_fill_buffer = 1;
2587
Reid Spencer6f407902007-01-13 05:00:46 +00002588#if YY_ALWAYS_INTERACTIVE
2589 b->yy_is_interactive = 1;
2590#else
2591#if YY_NEVER_INTERACTIVE
2592 b->yy_is_interactive = 0;
2593#else
2594 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2595#endif
2596#endif
2597 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002598
2599
Reid Spencer6f407902007-01-13 05:00:46 +00002600#ifdef YY_USE_PROTOS
2601void yy_flush_buffer( YY_BUFFER_STATE b )
2602#else
2603void yy_flush_buffer( b )
2604YY_BUFFER_STATE b;
2605#endif
2606
2607 {
2608 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002609 return;
2610
2611 b->yy_n_chars = 0;
2612
2613 /* We always need two end-of-buffer characters. The first causes
2614 * a transition to the end-of-buffer state. The second causes
2615 * a jam in that state.
2616 */
2617 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2618 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2619
2620 b->yy_buf_pos = &b->yy_ch_buf[0];
2621
2622 b->yy_at_bol = 1;
2623 b->yy_buffer_status = YY_BUFFER_NEW;
2624
Reid Spencer6f407902007-01-13 05:00:46 +00002625 if ( b == yy_current_buffer )
2626 yy_load_buffer_state();
Reid Spencer68a24bd2005-08-27 18:50:39 +00002627 }
2628
2629
Reid Spencer6f407902007-01-13 05:00:46 +00002630#ifndef YY_NO_SCAN_BUFFER
2631#ifdef YY_USE_PROTOS
2632YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2633#else
2634YY_BUFFER_STATE yy_scan_buffer( base, size )
2635char *base;
2636yy_size_t size;
2637#endif
2638 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002639 YY_BUFFER_STATE b;
Reid Spencer6f407902007-01-13 05:00:46 +00002640
Reid Spencer68a24bd2005-08-27 18:50:39 +00002641 if ( size < 2 ||
2642 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2643 base[size-1] != YY_END_OF_BUFFER_CHAR )
2644 /* They forgot to leave room for the EOB's. */
2645 return 0;
2646
Reid Spencer6f407902007-01-13 05:00:46 +00002647 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002648 if ( ! b )
Reid Spencer6f407902007-01-13 05:00:46 +00002649 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002650
2651 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2652 b->yy_buf_pos = b->yy_ch_buf = base;
2653 b->yy_is_our_buffer = 0;
2654 b->yy_input_file = 0;
2655 b->yy_n_chars = b->yy_buf_size;
2656 b->yy_is_interactive = 0;
2657 b->yy_at_bol = 1;
2658 b->yy_fill_buffer = 0;
2659 b->yy_buffer_status = YY_BUFFER_NEW;
2660
Reid Spencer6f407902007-01-13 05:00:46 +00002661 yy_switch_to_buffer( b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002662
2663 return b;
Reid Spencer6f407902007-01-13 05:00:46 +00002664 }
2665#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002666
2667
Reid Spencer6f407902007-01-13 05:00:46 +00002668#ifndef YY_NO_SCAN_STRING
2669#ifdef YY_USE_PROTOS
2670YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2671#else
2672YY_BUFFER_STATE yy_scan_string( yy_str )
2673yyconst char *yy_str;
2674#endif
2675 {
2676 int len;
2677 for ( len = 0; yy_str[len]; ++len )
2678 ;
2679
2680 return yy_scan_bytes( yy_str, len );
2681 }
2682#endif
2683
2684
2685#ifndef YY_NO_SCAN_BYTES
2686#ifdef YY_USE_PROTOS
2687YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2688#else
2689YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2690yyconst char *bytes;
2691int len;
2692#endif
2693 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002694 YY_BUFFER_STATE b;
2695 char *buf;
2696 yy_size_t n;
2697 int i;
Reid Spencer6f407902007-01-13 05:00:46 +00002698
Reid Spencer68a24bd2005-08-27 18:50:39 +00002699 /* Get memory for full buffer, including space for trailing EOB's. */
Reid Spencer6f407902007-01-13 05:00:46 +00002700 n = len + 2;
2701 buf = (char *) yy_flex_alloc( n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002702 if ( ! buf )
Reid Spencer6f407902007-01-13 05:00:46 +00002703 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002704
Reid Spencer6f407902007-01-13 05:00:46 +00002705 for ( i = 0; i < len; ++i )
2706 buf[i] = bytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002707
Reid Spencer6f407902007-01-13 05:00:46 +00002708 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002709
Reid Spencer6f407902007-01-13 05:00:46 +00002710 b = yy_scan_buffer( buf, n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002711 if ( ! b )
Reid Spencer6f407902007-01-13 05:00:46 +00002712 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002713
2714 /* It's okay to grow etc. this buffer, and we should throw it
2715 * away when we're done.
2716 */
2717 b->yy_is_our_buffer = 1;
2718
2719 return b;
Reid Spencer6f407902007-01-13 05:00:46 +00002720 }
2721#endif
2722
2723
2724#ifndef YY_NO_PUSH_STATE
2725#ifdef YY_USE_PROTOS
2726static void yy_push_state( int new_state )
2727#else
2728static void yy_push_state( new_state )
2729int new_state;
2730#endif
2731 {
2732 if ( yy_start_stack_ptr >= yy_start_stack_depth )
2733 {
2734 yy_size_t new_size;
2735
2736 yy_start_stack_depth += YY_START_STACK_INCR;
2737 new_size = yy_start_stack_depth * sizeof( int );
2738
2739 if ( ! yy_start_stack )
2740 yy_start_stack = (int *) yy_flex_alloc( new_size );
2741
2742 else
2743 yy_start_stack = (int *) yy_flex_realloc(
2744 (void *) yy_start_stack, new_size );
2745
2746 if ( ! yy_start_stack )
2747 YY_FATAL_ERROR(
2748 "out of memory expanding start-condition stack" );
2749 }
2750
2751 yy_start_stack[yy_start_stack_ptr++] = YY_START;
2752
2753 BEGIN(new_state);
2754 }
2755#endif
2756
2757
2758#ifndef YY_NO_POP_STATE
2759static void yy_pop_state()
2760 {
2761 if ( --yy_start_stack_ptr < 0 )
2762 YY_FATAL_ERROR( "start-condition stack underflow" );
2763
2764 BEGIN(yy_start_stack[yy_start_stack_ptr]);
2765 }
2766#endif
2767
2768
2769#ifndef YY_NO_TOP_STATE
2770static int yy_top_state()
2771 {
2772 return yy_start_stack[yy_start_stack_ptr - 1];
2773 }
2774#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +00002775
2776#ifndef YY_EXIT_FAILURE
2777#define YY_EXIT_FAILURE 2
2778#endif
2779
Reid Spencer6f407902007-01-13 05:00:46 +00002780#ifdef YY_USE_PROTOS
2781static void yy_fatal_error( yyconst char msg[] )
2782#else
2783static void yy_fatal_error( msg )
2784char msg[];
2785#endif
2786 {
2787 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002788 exit( YY_EXIT_FAILURE );
Reid Spencer6f407902007-01-13 05:00:46 +00002789 }
2790
2791
Reid Spencer68a24bd2005-08-27 18:50:39 +00002792
2793/* Redefine yyless() so it works in section 3 code. */
2794
2795#undef yyless
2796#define yyless(n) \
2797 do \
2798 { \
Reid Spencer6f407902007-01-13 05:00:46 +00002799 /* Undo effects of setting up yytext. */ \
2800 yytext[yyleng] = yy_hold_char; \
2801 yy_c_buf_p = yytext + n; \
2802 yy_hold_char = *yy_c_buf_p; \
2803 *yy_c_buf_p = '\0'; \
2804 yyleng = n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002805 } \
2806 while ( 0 )
2807
2808
Reid Spencer6f407902007-01-13 05:00:46 +00002809/* Internal utility routines. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002810
2811#ifndef yytext_ptr
Reid Spencer6f407902007-01-13 05:00:46 +00002812#ifdef YY_USE_PROTOS
2813static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2814#else
2815static void yy_flex_strncpy( s1, s2, n )
2816char *s1;
2817yyconst char *s2;
2818int n;
2819#endif
2820 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002821 register int i;
2822 for ( i = 0; i < n; ++i )
2823 s1[i] = s2[i];
Reid Spencer6f407902007-01-13 05:00:46 +00002824 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002825#endif
2826
2827#ifdef YY_NEED_STRLEN
Reid Spencer6f407902007-01-13 05:00:46 +00002828#ifdef YY_USE_PROTOS
2829static int yy_flex_strlen( yyconst char *s )
2830#else
2831static int yy_flex_strlen( s )
2832yyconst char *s;
2833#endif
2834 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002835 register int n;
2836 for ( n = 0; s[n]; ++n )
2837 ;
2838
2839 return n;
Reid Spencer6f407902007-01-13 05:00:46 +00002840 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002841#endif
2842
Owen Anderson1dc69692006-10-18 02:21:48 +00002843
Reid Spencer6f407902007-01-13 05:00:46 +00002844#ifdef YY_USE_PROTOS
2845static void *yy_flex_alloc( yy_size_t size )
2846#else
2847static void *yy_flex_alloc( size )
2848yy_size_t size;
2849#endif
2850 {
2851 return (void *) malloc( size );
2852 }
2853
2854#ifdef YY_USE_PROTOS
2855static inline void *yy_flex_realloc( void *ptr, yy_size_t size )
2856#else
2857static inline void *yy_flex_realloc( ptr, size )
2858void *ptr;
2859yy_size_t size;
2860#endif
2861 {
Reid Spencer68a24bd2005-08-27 18:50:39 +00002862 /* The cast to (char *) in the following accommodates both
2863 * implementations that use char* generic pointers, and those
2864 * that use void* generic pointers. It works with the latter
2865 * because both ANSI C and C++ allow castless assignment from
2866 * any pointer type to void*, and deal with argument conversions
2867 * as though doing an assignment.
2868 */
2869 return (void *) realloc( (char *) ptr, size );
Reid Spencer6f407902007-01-13 05:00:46 +00002870 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002871
Reid Spencer6f407902007-01-13 05:00:46 +00002872#ifdef YY_USE_PROTOS
2873static void yy_flex_free( void *ptr )
2874#else
2875static void yy_flex_free( ptr )
2876void *ptr;
2877#endif
2878 {
2879 free( ptr );
2880 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002881
Reid Spencer6f407902007-01-13 05:00:46 +00002882#if YY_MAIN
2883int main()
2884 {
2885 yylex();
2886 return 0;
2887 }
2888#endif
2889#line 399 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
Chris Lattner2fecc0f2006-02-15 07:02:59 +00002890