blob: 6eedd2b77f1a622c1ec0865d28c7bd03e430cbf8 [file] [log] [blame]
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001#line 2 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003#line 4 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00004
Anton Korobeynikov178a3522007-01-12 19:22:51 +00005#define YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
Owen Anderson1dc69692006-10-18 02:21:48 +00008
Reid Spencer68a24bd2005-08-27 18:50:39 +00009#define FLEX_SCANNER
10#define YY_FLEX_MAJOR_VERSION 2
11#define YY_FLEX_MINOR_VERSION 5
Anton Korobeynikov178a3522007-01-12 19:22:51 +000012#define YY_FLEX_SUBMINOR_VERSION 33
13#if YY_FLEX_SUBMINOR_VERSION > 0
14#define FLEX_BETA
15#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +000016
Anton Korobeynikov178a3522007-01-12 19:22:51 +000017/* First, we deal with platform-specific or compiler-specific issues. */
18
19/* begin standard C headers. */
Reid Spencer68a24bd2005-08-27 18:50:39 +000020#include <stdio.h>
Anton Korobeynikov178a3522007-01-12 19:22:51 +000021#include <string.h>
22#include <errno.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000023#include <stdlib.h>
Owen Anderson1dc69692006-10-18 02:21:48 +000024
Anton Korobeynikov178a3522007-01-12 19:22:51 +000025/* end standard C headers. */
26
27/* flex integer type definitions */
28
29#ifndef FLEXINT_H
30#define FLEXINT_H
31
32/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34#if __STDC_VERSION__ >= 199901L
35
36/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37 * if you want the limit (max/min) macros for int types.
38 */
39#ifndef __STDC_LIMIT_MACROS
40#define __STDC_LIMIT_MACROS 1
41#endif
42
43#include <inttypes.h>
44typedef int8_t flex_int8_t;
45typedef uint8_t flex_uint8_t;
46typedef int16_t flex_int16_t;
47typedef uint16_t flex_uint16_t;
48typedef int32_t flex_int32_t;
49typedef uint32_t flex_uint32_t;
50#else
51typedef signed char flex_int8_t;
52typedef short int flex_int16_t;
53typedef int flex_int32_t;
54typedef unsigned char flex_uint8_t;
55typedef unsigned short int flex_uint16_t;
56typedef unsigned int flex_uint32_t;
57#endif /* ! C99 */
58
59/* Limits of integral types. */
60#ifndef INT8_MIN
61#define INT8_MIN (-128)
62#endif
63#ifndef INT16_MIN
64#define INT16_MIN (-32767-1)
65#endif
66#ifndef INT32_MIN
67#define INT32_MIN (-2147483647-1)
68#endif
69#ifndef INT8_MAX
70#define INT8_MAX (127)
71#endif
72#ifndef INT16_MAX
73#define INT16_MAX (32767)
74#endif
75#ifndef INT32_MAX
76#define INT32_MAX (2147483647)
77#endif
78#ifndef UINT8_MAX
79#define UINT8_MAX (255U)
80#endif
81#ifndef UINT16_MAX
82#define UINT16_MAX (65535U)
83#endif
84#ifndef UINT32_MAX
85#define UINT32_MAX (4294967295U)
86#endif
87
88#endif /* ! FLEXINT_H */
89
90#ifdef __cplusplus
Owen Anderson1dc69692006-10-18 02:21:48 +000091
Reid Spencer68a24bd2005-08-27 18:50:39 +000092/* The "const" storage-class-modifier is valid. */
93#define YY_USE_CONST
94
95#else /* ! __cplusplus */
96
97#if __STDC__
98
Reid Spencer68a24bd2005-08-27 18:50:39 +000099#define YY_USE_CONST
100
101#endif /* __STDC__ */
102#endif /* ! __cplusplus */
103
Reid Spencer68a24bd2005-08-27 18:50:39 +0000104#ifdef YY_USE_CONST
105#define yyconst const
106#else
107#define yyconst
108#endif
109
Reid Spencer68a24bd2005-08-27 18:50:39 +0000110/* Returned upon end-of-file. */
111#define YY_NULL 0
112
113/* Promotes a possibly negative, possibly signed char to an unsigned
114 * integer for use as an array index. If the signed char is negative,
115 * we want to instead treat it as an 8-bit unsigned char, hence the
116 * double cast.
117 */
118#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
119
120/* Enter a start condition. This macro really ought to take a parameter,
121 * but we do it the disgusting crufty way forced on us by the ()-less
122 * definition of BEGIN.
123 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000124#define BEGIN (yy_start) = 1 + 2 *
Reid Spencer68a24bd2005-08-27 18:50:39 +0000125
126/* Translate the current start state into a value that can be later handed
127 * to BEGIN to return to the state. The YYSTATE alias is for lex
128 * compatibility.
129 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000130#define YY_START (((yy_start) - 1) / 2)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000131#define YYSTATE YY_START
132
133/* Action number for EOF rule of a given start state. */
134#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
135
136/* Special action meaning "start processing a new file". */
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000137#define YY_NEW_FILE llvmAsmrestart(llvmAsmin )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000138
139#define YY_END_OF_BUFFER_CHAR 0
140
141/* Size of default input buffer. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000142#ifndef YY_BUF_SIZE
Reid Spencer68a24bd2005-08-27 18:50:39 +0000143#define YY_BUF_SIZE (16384*64)
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000144#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +0000145
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000146/* The state buf must be large enough to hold one state per character in the main buffer.
147 */
148#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
149
150#ifndef YY_TYPEDEF_YY_BUFFER_STATE
151#define YY_TYPEDEF_YY_BUFFER_STATE
Reid Spencer68a24bd2005-08-27 18:50:39 +0000152typedef struct yy_buffer_state *YY_BUFFER_STATE;
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000153#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +0000154
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000155extern int llvmAsmleng;
156
157extern FILE *llvmAsmin, *llvmAsmout;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000158
159#define EOB_ACT_CONTINUE_SCAN 0
160#define EOB_ACT_END_OF_FILE 1
161#define EOB_ACT_LAST_MATCH 2
162
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000163 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
164 * access to the local variable yy_act. Since yyless() is a macro, it would break
165 * existing scanners that call yyless() from OUTSIDE llvmAsmlex.
166 * One obvious solution it to make yy_act a global. I tried that, and saw
167 * a 5% performance hit in a non-llvmAsmlineno scanner, because yy_act is
168 * normally declared as a register variable-- so it is not worth it.
169 */
170 #define YY_LESS_LINENO(n) \
171 do { \
172 int yyl;\
173 for ( yyl = n; yyl < llvmAsmleng; ++yyl )\
174 if ( llvmAsmtext[yyl] == '\n' )\
175 --llvmAsmlineno;\
176 }while(0)
177
178/* Return all but the first "n" matched characters back to the input stream. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000179#define yyless(n) \
180 do \
181 { \
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000182 /* Undo effects of setting up llvmAsmtext. */ \
183 int yyless_macro_arg = (n); \
184 YY_LESS_LINENO(yyless_macro_arg);\
185 *yy_cp = (yy_hold_char); \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000186 YY_RESTORE_YY_MORE_OFFSET \
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000187 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
188 YY_DO_BEFORE_ACTION; /* set up llvmAsmtext again */ \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000189 } \
190 while ( 0 )
191
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000192#define unput(c) yyunput( c, (yytext_ptr) )
Reid Spencer3da59db2006-11-27 01:05:10 +0000193
Reid Spencer68a24bd2005-08-27 18:50:39 +0000194/* The following is because we cannot portably get our hands on size_t
195 * (without autoconf's help, which isn't available because we want
196 * flex-generated scanners to compile on their own).
197 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000198
199#ifndef YY_TYPEDEF_YY_SIZE_T
200#define YY_TYPEDEF_YY_SIZE_T
Reid Spencer68a24bd2005-08-27 18:50:39 +0000201typedef unsigned int yy_size_t;
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000202#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +0000203
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000204#ifndef YY_STRUCT_YY_BUFFER_STATE
205#define YY_STRUCT_YY_BUFFER_STATE
Reid Spencer68a24bd2005-08-27 18:50:39 +0000206struct yy_buffer_state
207 {
208 FILE *yy_input_file;
209
210 char *yy_ch_buf; /* input buffer */
211 char *yy_buf_pos; /* current position in input buffer */
212
213 /* Size of input buffer in bytes, not including room for EOB
214 * characters.
215 */
216 yy_size_t yy_buf_size;
217
218 /* Number of characters read into yy_ch_buf, not including EOB
219 * characters.
220 */
221 int yy_n_chars;
222
223 /* Whether we "own" the buffer - i.e., we know we created it,
224 * and can realloc() it to grow it, and should free() it to
225 * delete it.
226 */
227 int yy_is_our_buffer;
228
229 /* Whether this is an "interactive" input source; if so, and
230 * if we're using stdio for input, then we want to use getc()
231 * instead of fread(), to make sure we stop fetching input after
232 * each newline.
233 */
234 int yy_is_interactive;
235
236 /* Whether we're considered to be at the beginning of a line.
237 * If so, '^' rules will be active on the next match, otherwise
238 * not.
239 */
240 int yy_at_bol;
241
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000242 int yy_bs_lineno; /**< The line count. */
243 int yy_bs_column; /**< The column count. */
244
Reid Spencer68a24bd2005-08-27 18:50:39 +0000245 /* Whether to try to fill the input buffer when we reach the
246 * end of it.
247 */
248 int yy_fill_buffer;
249
250 int yy_buffer_status;
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000251
Reid Spencer68a24bd2005-08-27 18:50:39 +0000252#define YY_BUFFER_NEW 0
253#define YY_BUFFER_NORMAL 1
254 /* When an EOF's been seen but there's still some text to process
255 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
256 * shouldn't try reading from the input source any more. We might
257 * still have a bunch of tokens to match, though, because of
258 * possible backing-up.
259 *
260 * When we actually see the EOF, we change the status to "new"
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000261 * (via llvmAsmrestart()), so that the user can continue scanning by
262 * just pointing llvmAsmin at a new input file.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000263 */
264#define YY_BUFFER_EOF_PENDING 2
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000265
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000266 };
267#endif /* !YY_STRUCT_YY_BUFFER_STATE */
268
269/* Stack of input buffers. */
270static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
271static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
272static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000273
274/* We provide macros for accessing buffer states in case in the
275 * future we want to put the buffer states in a more general
276 * "scanner state".
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000277 *
278 * Returns the top of the stack, or NULL.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000279 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000280#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
281 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
282 : NULL)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000283
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000284/* Same as previous macro, but useful when we know that the buffer stack is not
285 * NULL or when we need an lvalue. For internal use only.
286 */
287#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
Reid Spencer68a24bd2005-08-27 18:50:39 +0000288
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000289/* yy_hold_char holds the character lost when llvmAsmtext is formed. */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000290static char yy_hold_char;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000291static int yy_n_chars; /* number of characters read into yy_ch_buf */
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000292int llvmAsmleng;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000293
294/* Points to current character in buffer. */
295static char *yy_c_buf_p = (char *) 0;
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000296static int yy_init = 0; /* whether we need to initialize */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000297static int yy_start = 0; /* start state number */
298
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000299/* Flag which is used to allow llvmAsmwrap()'s to do buffer switches
300 * instead of setting up a fresh llvmAsmin. A bit of a hack ...
Reid Spencer68a24bd2005-08-27 18:50:39 +0000301 */
302static int yy_did_buffer_switch_on_eof;
303
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000304void llvmAsmrestart (FILE *input_file );
305void llvmAsm_switch_to_buffer (YY_BUFFER_STATE new_buffer );
306YY_BUFFER_STATE llvmAsm_create_buffer (FILE *file,int size );
307void llvmAsm_delete_buffer (YY_BUFFER_STATE b );
308void llvmAsm_flush_buffer (YY_BUFFER_STATE b );
309void llvmAsmpush_buffer_state (YY_BUFFER_STATE new_buffer );
310void llvmAsmpop_buffer_state (void );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000311
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000312static void llvmAsmensure_buffer_stack (void );
313static void llvmAsm_load_buffer_state (void );
314static void llvmAsm_init_buffer (YY_BUFFER_STATE b,FILE *file );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000315
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000316#define YY_FLUSH_BUFFER llvmAsm_flush_buffer(YY_CURRENT_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +0000317
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000318YY_BUFFER_STATE llvmAsm_scan_buffer (char *base,yy_size_t size );
319YY_BUFFER_STATE llvmAsm_scan_string (yyconst char *yy_str );
320YY_BUFFER_STATE llvmAsm_scan_bytes (yyconst char *bytes,int len );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000321
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000322void *llvmAsmalloc (yy_size_t );
323void *llvmAsmrealloc (void *,yy_size_t );
324void llvmAsmfree (void * );
325
326#define yy_new_buffer llvmAsm_create_buffer
Reid Spencer68a24bd2005-08-27 18:50:39 +0000327
328#define yy_set_interactive(is_interactive) \
329 { \
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000330 if ( ! YY_CURRENT_BUFFER ){ \
331 llvmAsmensure_buffer_stack (); \
332 YY_CURRENT_BUFFER_LVALUE = \
333 llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE ); \
334 } \
335 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000336 }
337
338#define yy_set_bol(at_bol) \
339 { \
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000340 if ( ! YY_CURRENT_BUFFER ){\
341 llvmAsmensure_buffer_stack (); \
342 YY_CURRENT_BUFFER_LVALUE = \
343 llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE ); \
344 } \
345 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000346 }
347
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000348#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
Reid Spencer68a24bd2005-08-27 18:50:39 +0000349
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000350/* Begin user sect3 */
Reid Spencer68a24bd2005-08-27 18:50:39 +0000351
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000352#define llvmAsmwrap(n) 1
Reid Spencer68a24bd2005-08-27 18:50:39 +0000353#define YY_SKIP_YYWRAP
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +0000354
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000355typedef unsigned char YY_CHAR;
356
357FILE *llvmAsmin = (FILE *) 0, *llvmAsmout = (FILE *) 0;
358
359typedef int yy_state_type;
360
361extern int llvmAsmlineno;
362
363int llvmAsmlineno = 1;
364
365extern char *llvmAsmtext;
366#define yytext_ptr llvmAsmtext
367
368static yy_state_type yy_get_previous_state (void );
369static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
370static int yy_get_next_buffer (void );
371static void yy_fatal_error (yyconst char msg[] );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000372
373/* Done after the current pattern has been matched and before the
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000374 * corresponding action - sets up llvmAsmtext.
Reid Spencer68a24bd2005-08-27 18:50:39 +0000375 */
376#define YY_DO_BEFORE_ACTION \
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000377 (yytext_ptr) = yy_bp; \
378 llvmAsmleng = (size_t) (yy_cp - yy_bp); \
379 (yy_hold_char) = *yy_cp; \
Reid Spencer68a24bd2005-08-27 18:50:39 +0000380 *yy_cp = '\0'; \
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000381 (yy_c_buf_p) = yy_cp;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000382
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000383#define YY_NUM_RULES 136
384#define YY_END_OF_BUFFER 137
385/* This struct is not used in this scanner,
386 but its presence is necessary. */
387struct yy_trans_info
388 {
389 flex_int32_t yy_verify;
390 flex_int32_t yy_nxt;
391 };
392static yyconst flex_int16_t yy_accept[557] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000393 { 0,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000394 0, 0, 137, 135, 134, 134, 135, 135, 135, 135,
395 135, 135, 127, 127, 1, 135, 135, 135, 135, 135,
396 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
397 135, 135, 135, 135, 135, 135, 135, 0, 126, 0,
398 124, 123, 123, 130, 0, 128, 0, 132, 127, 0,
399 1, 0, 0, 0, 0, 0, 0, 0, 0, 109,
400 0, 40, 0, 0, 0, 0, 0, 0, 0, 69,
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
403 0, 70, 0, 0, 0, 0, 0, 0, 65, 0,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000404
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408 0, 126, 123, 123, 132, 21, 132, 0, 133, 55,
409 0, 0, 64, 0, 0, 38, 0, 33, 0, 0,
410 0, 41, 0, 0, 0, 0, 0, 0, 0, 0,
411 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
413 0, 0, 0, 0, 0, 0, 57, 0, 79, 84,
414 82, 83, 81, 80, 0, 85, 89, 0, 0, 108,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000415
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000416 0, 0, 0, 0, 0, 74, 72, 104, 0, 0,
417 0, 73, 71, 0, 0, 56, 0, 0, 0, 0,
418 0, 0, 0, 87, 78, 76, 0, 77, 75, 0,
419 88, 86, 0, 0, 0, 0, 0, 0, 0, 0,
420 66, 0, 0, 125, 132, 0, 0, 0, 132, 0,
421 0, 0, 106, 0, 0, 48, 90, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 68, 60, 0, 0, 0, 0, 116, 63,
424 0, 0, 0, 67, 0, 0, 0, 0, 0, 0,
425 0, 0, 117, 105, 0, 0, 23, 0, 0, 0,
426
427 129, 59, 0, 0, 93, 0, 0, 0, 62, 0,
428 0, 25, 0, 0, 4, 0, 52, 58, 0, 0,
429 0, 0, 61, 0, 47, 0, 12, 0, 0, 92,
430 132, 35, 0, 0, 2, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
432 0, 49, 95, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 51, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 118, 0, 0,
435 0, 91, 0, 22, 0, 0, 0, 0, 0, 0,
436 0, 115, 0, 0, 44, 0, 0, 0, 0, 7,
437
438 0, 0, 0, 50, 29, 0, 0, 43, 99, 98,
439 0, 0, 8, 16, 0, 0, 0, 0, 111, 0,
440 32, 114, 37, 53, 0, 0, 0, 103, 0, 0,
441 97, 110, 26, 27, 96, 0, 112, 107, 0, 0,
442 0, 0, 0, 102, 0, 42, 0, 6, 28, 0,
443 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
444 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
445 0, 0, 9, 0, 0, 0, 0, 18, 0, 0,
446 0, 0, 10, 100, 11, 0, 101, 0, 0, 0,
447 34, 0, 0, 0, 13, 0, 15, 14, 0, 0,
448
449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 31, 0, 0, 0, 0, 0, 0, 0, 39, 0,
451 0, 0, 0, 17, 0, 0, 0, 0, 30, 0,
452 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453 0, 0, 0, 119, 0, 121, 122, 0, 45, 0,
454 120, 19, 46, 0, 20, 0
Reid Spencer68a24bd2005-08-27 18:50:39 +0000455 } ;
456
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000457static yyconst flex_int32_t yy_ec[256] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000458 { 0,
459 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
460 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
462 1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000463 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
464 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
465 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000466 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
467 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000468 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000469
Reid Spencera54b7cb2007-01-12 07:05:14 +0000470 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
471 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
472 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
474 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
475 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
476 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
477 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
478 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
479 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
480
481 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
482 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
483 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
484 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
486 1, 1, 1, 1, 1
487 } ;
488
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000489static yyconst flex_int32_t yy_meta[44] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000490 { 0,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000491 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
492 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000493 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000494 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
495 3, 3, 3
Reid Spencer68a24bd2005-08-27 18:50:39 +0000496 } ;
497
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000498static yyconst flex_int16_t yy_base[562] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000499 { 0,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000500 0, 0, 1206, 1207, 1207, 1207, 1201, 1190, 36, 40,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000501 44, 50, 56, 62, 0, 63, 66, 81, 89, 47,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000502 108, 91, 77, 134, 92, 119, 93, 152, 126, 109,
503 178, 154, 209, 135, 111, 146, 112, 1199, 1207, 1188,
504 1207, 0, 159, 198, 215, 236, 70, 241, 256, 261,
505 0, 68, 147, 128, 165, 176, 166, 262, 31, 1187,
506 168, 200, 206, 48, 72, 265, 170, 101, 208, 1186,
507 73, 227, 203, 215, 180, 274, 139, 225, 229, 278,
508 272, 276, 277, 280, 281, 290, 293, 282, 291, 300,
509 295, 1185, 299, 122, 309, 311, 312, 317, 315, 316,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000510
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000511 324, 304, 319, 301, 326, 331, 327, 330, 333, 340,
512 335, 343, 347, 351, 352, 1184, 355, 348, 357, 360,
513 362, 359, 366, 369, 372, 384, 383, 386, 181, 376,
514 392, 1183, 0, 403, 407, 1182, 424, 441, 0, 1181,
515 407, 393, 1180, 408, 394, 1179, 412, 1178, 429, 428,
516 430, 1177, 442, 409, 444, 446, 432, 448, 449, 454,
517 452, 455, 456, 457, 459, 462, 460, 466, 469, 470,
518 474, 475, 472, 486, 473, 480, 489, 493, 487, 497,
519 499, 500, 501, 503, 504, 507, 1176, 510, 1175, 1174,
520 1173, 1172, 1171, 1170, 508, 1169, 1168, 512, 511, 1167,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000521
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000522 539, 514, 517, 518, 520, 1166, 1165, 1164, 522, 521,
523 515, 1163, 1162, 550, 551, 1161, 552, 553, 554, 555,
524 560, 558, 556, 1160, 1159, 1158, 561, 1157, 1156, 562,
525 1155, 1154, 564, 557, 576, 578, 580, 582, 584, 559,
526 1153, 585, 586, 1207, 597, 614, 618, 622, 627, 628,
527 590, 629, 1152, 630, 599, 1151, 1150, 631, 632, 633,
528 634, 635, 636, 589, 637, 641, 639, 643, 642, 660,
529 650, 644, 1149, 1148, 652, 658, 661, 662, 1147, 1146,
530 667, 666, 668, 1145, 669, 670, 672, 674, 591, 673,
531 676, 680, 1144, 1143, 679, 684, 1142, 687, 689, 690,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000532
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000533 0, 1141, 696, 698, 1140, 700, 704, 706, 1139, 714,
534 715, 1138, 717, 703, 1137, 720, 1136, 1135, 719, 721,
535 702, 724, 1134, 725, 1133, 728, 1132, 730, 732, 1131,
536 737, 1130, 737, 739, 1129, 738, 743, 744, 748, 753,
537 754, 756, 757, 759, 761, 762, 764, 766, 767, 1128,
538 769, 1127, 1126, 772, 773, 770, 768, 779, 782, 784,
539 788, 789, 790, 792, 1125, 791, 793, 796, 795, 798,
540 805, 797, 812, 813, 816, 815, 818, 1124, 414, 817,
541 819, 1123, 820, 1122, 822, 824, 823, 833, 821, 827,
542 835, 1121, 838, 841, 1120, 842, 847, 843, 844, 1119,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000543
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000544 845, 848, 855, 1118, 1117, 856, 849, 1116, 1115, 1114,
545 858, 862, 1113, 1112, 868, 870, 869, 857, 1111, 875,
546 1110, 1109, 1108, 1107, 863, 876, 881, 1106, 883, 885,
547 1105, 1104, 1103, 1102, 1101, 887, 1100, 1099, 886, 888,
548 889, 890, 891, 1098, 894, 1097, 896, 1096, 1095, 900,
549 902, 904, 905, 906, 1094, 907, 909, 912, 913, 911,
550 922, 918, 919, 1093, 924, 925, 933, 935, 929, 936,
551 937, 939, 1092, 941, 945, 946, 947, 1091, 948, 953,
552 951, 955, 1090, 1089, 1088, 954, 1085, 957, 971, 973,
553 1076, 975, 972, 976, 1073, 958, 1072, 1071, 980, 983,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000554
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000555 961, 986, 987, 959, 990, 993, 994, 995, 996, 999,
556 1068, 998, 1001, 1002, 1005, 1006, 1010, 1007, 1067, 1013,
557 1008, 1014, 1018, 1064, 1025, 1020, 1024, 1027, 1063, 1031,
558 1060, 1026, 1032, 1035, 1036, 1038, 1040, 1042, 1045, 1047,
559 1050, 1046, 1051, 962, 1052, 701, 601, 1055, 526, 1061,
560 476, 374, 246, 1056, 245, 1207, 1091, 1093, 254, 1097,
561 57
Reid Spencer68a24bd2005-08-27 18:50:39 +0000562 } ;
563
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000564static yyconst flex_int16_t yy_def[562] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000565 { 0,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000566 556, 1, 556, 556, 556, 556, 557, 558, 559, 556,
567 558, 558, 558, 558, 560, 558, 558, 558, 558, 558,
568 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
569 558, 558, 558, 558, 558, 558, 558, 557, 556, 558,
570 556, 561, 561, 556, 556, 558, 558, 558, 558, 558,
571 560, 558, 558, 558, 558, 558, 558, 558, 558, 558,
572 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
573 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
574 24, 558, 558, 558, 558, 558, 558, 558, 558, 558,
575 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000576
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000577 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
578 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
579 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
580 558, 556, 561, 561, 556, 558, 558, 558, 50, 558,
581 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
582 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
583 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
584 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
585 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
586 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000587
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000588 50, 558, 558, 558, 558, 558, 558, 558, 558, 558,
589 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
590 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
591 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
592 558, 558, 558, 556, 556, 556, 556, 558, 558, 558,
593 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
594 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
595 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
596 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
597 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000598
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000599 201, 558, 558, 558, 558, 558, 558, 558, 558, 558,
600 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
601 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
602 556, 558, 558, 558, 558, 558, 558, 558, 558, 558,
603 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
604 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
605 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
606 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
607 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
608 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000609
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000610 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
611 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
612 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
613 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
614 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
615 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
616 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
617 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
618 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
619 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000620
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000621 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
622 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
623 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
624 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
625 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
626 558, 558, 558, 558, 558, 0, 556, 556, 556, 556,
627 556
Reid Spencer68a24bd2005-08-27 18:50:39 +0000628 } ;
629
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000630static yyconst flex_int16_t yy_nxt[1251] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000631 { 0,
632 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
Reid Spencera54b7cb2007-01-12 07:05:14 +0000633 14, 14, 14, 4, 15, 8, 8, 8, 16, 17,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000634 18, 19, 20, 21, 22, 23, 24, 8, 25, 26,
635 27, 28, 29, 8, 30, 31, 32, 33, 34, 35,
636 36, 8, 37, 43, 41, 44, 44, 44, 44, 45,
637 45, 45, 45, 46, 46, 46, 46, 41, 47, 133,
638 41, 41, 150, 41, 48, 49, 49, 49, 49, 41,
639 48, 49, 49, 49, 49, 41, 41, 69, 136, 41,
640 70, 41, 155, 41, 52, 41, 41, 71, 57, 140,
641 41, 53, 58, 54, 41, 55, 50, 59, 56, 61,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000642
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000643 60, 62, 41, 80, 41, 41, 41, 65, 156, 163,
644 85, 66, 63, 78, 41, 92, 64, 67, 86, 79,
645 68, 41, 41, 87, 41, 41, 72, 88, 73, 74,
646 93, 103, 41, 128, 131, 41, 75, 89, 161, 41,
647 76, 41, 77, 81, 81, 81, 81, 41, 41, 143,
648 90, 100, 41, 126, 82, 189, 91, 101, 129, 41,
649 41, 171, 102, 83, 84, 41, 127, 41, 134, 134,
650 134, 134, 115, 141, 94, 142, 95, 130, 41, 41,
651 96, 41, 97, 41, 98, 116, 99, 104, 117, 41,
652 147, 41, 240, 41, 41, 118, 151, 144, 160, 105,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000653
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000654 106, 145, 107, 108, 109, 146, 110, 44, 44, 44,
655 44, 168, 111, 41, 112, 113, 41, 114, 104, 41,
656 152, 41, 41, 135, 45, 45, 45, 45, 41, 162,
657 119, 120, 166, 121, 153, 122, 154, 123, 41, 124,
658 41, 167, 41, 125, 48, 46, 46, 46, 46, 41,
659 137, 137, 137, 137, 41, 164, 42, 138, 41, 41,
660 173, 172, 165, 138, 48, 49, 49, 49, 49, 41,
661 139, 139, 139, 139, 41, 41, 139, 139, 41, 139,
662 139, 139, 139, 139, 139, 157, 148, 41, 158, 41,
663 41, 41, 40, 41, 41, 41, 169, 159, 149, 174,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000664
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000665 180, 40, 40, 41, 41, 175, 41, 184, 41, 176,
666 170, 183, 41, 41, 41, 177, 178, 41, 179, 185,
667 181, 186, 41, 187, 41, 41, 182, 188, 41, 41,
668 41, 190, 41, 192, 194, 195, 196, 41, 199, 41,
669 41, 201, 197, 41, 41, 191, 41, 193, 41, 206,
670 198, 203, 202, 41, 210, 200, 41, 214, 208, 204,
671 41, 41, 212, 207, 41, 41, 216, 209, 41, 211,
672 41, 205, 41, 41, 215, 41, 213, 217, 218, 41,
673 222, 220, 41, 223, 225, 41, 219, 41, 228, 41,
674 230, 231, 221, 224, 235, 227, 41, 41, 226, 41,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000675
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000676 232, 236, 229, 233, 239, 41, 41, 41, 234, 237,
677 241, 238, 134, 134, 134, 134, 245, 245, 245, 245,
678 41, 41, 41, 246, 251, 41, 242, 41, 253, 246,
679 252, 250, 243, 137, 137, 137, 137, 41, 254, 432,
680 138, 41, 41, 41, 259, 41, 138, 247, 248, 255,
681 249, 249, 249, 249, 41, 41, 256, 41, 257, 41,
682 262, 41, 41, 258, 261, 41, 260, 41, 41, 41,
683 41, 267, 41, 41, 263, 41, 265, 264, 269, 41,
684 266, 268, 41, 41, 275, 41, 41, 41, 41, 41,
685 270, 282, 271, 41, 273, 272, 279, 281, 274, 41,
Reid Spencer6fd36ab2006-12-29 20:35:03 +0000686
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000687 41, 277, 41, 280, 278, 284, 41, 283, 285, 276,
688 41, 286, 41, 41, 41, 287, 41, 41, 289, 290,
689 41, 41, 293, 41, 41, 41, 291, 41, 41, 288,
690 41, 41, 295, 41, 41, 41, 292, 294, 297, 41,
691 304, 298, 299, 307, 296, 306, 308, 300, 301, 301,
692 301, 301, 302, 303, 301, 301, 305, 301, 301, 301,
693 301, 301, 301, 41, 41, 41, 41, 41, 41, 41,
694 41, 41, 41, 41, 41, 41, 328, 41, 313, 309,
695 317, 312, 315, 322, 320, 310, 321, 314, 311, 41,
696 316, 41, 319, 41, 318, 41, 324, 41, 41, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000697
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000698 326, 325, 41, 41, 41, 323, 245, 245, 245, 245,
699 333, 327, 41, 246, 41, 343, 329, 336, 364, 246,
700 247, 247, 330, 331, 331, 331, 331, 331, 331, 331,
701 331, 249, 249, 249, 249, 41, 249, 249, 249, 249,
702 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
703 41, 337, 41, 341, 41, 41, 41, 41, 332, 334,
704 335, 347, 340, 41, 351, 41, 342, 346, 338, 339,
705 345, 41, 350, 41, 41, 41, 348, 344, 349, 41,
706 41, 41, 41, 41, 358, 41, 41, 41, 352, 41,
707 359, 360, 41, 41, 353, 357, 354, 41, 355, 356,
Reid Spencer14310612006-12-31 05:40:51 +0000708
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000709 41, 365, 41, 41, 361, 363, 362, 366, 367, 41,
710 368, 41, 369, 41, 41, 41, 41, 41, 374, 41,
711 385, 372, 373, 375, 370, 371, 376, 41, 41, 377,
712 41, 381, 41, 41, 41, 379, 378, 41, 41, 380,
713 382, 41, 383, 41, 384, 41, 331, 331, 331, 331,
714 41, 41, 41, 389, 386, 392, 41, 41, 391, 387,
715 393, 41, 396, 395, 388, 390, 41, 41, 397, 41,
716 41, 398, 41, 394, 41, 41, 401, 41, 400, 41,
717 41, 41, 41, 41, 404, 41, 41, 407, 399, 408,
718 412, 402, 41, 403, 405, 41, 406, 41, 409, 410,
Reid Spencer14310612006-12-31 05:40:51 +0000719
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000720 411, 41, 41, 41, 41, 41, 41, 413, 41, 41,
721 41, 41, 414, 415, 419, 421, 422, 423, 41, 417,
722 424, 420, 418, 426, 416, 41, 41, 425, 41, 41,
723 41, 41, 41, 41, 41, 41, 41, 41, 430, 440,
724 41, 434, 436, 427, 429, 437, 41, 438, 41, 428,
725 431, 41, 435, 433, 41, 41, 41, 41, 41, 439,
726 41, 41, 41, 441, 443, 442, 448, 446, 41, 41,
727 41, 41, 445, 452, 453, 41, 41, 444, 455, 450,
728 449, 41, 41, 41, 447, 454, 451, 459, 41, 41,
729 457, 456, 458, 460, 41, 461, 41, 462, 41, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000730
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000731 41, 41, 41, 41, 41, 465, 463, 41, 466, 41,
732 470, 464, 467, 41, 468, 41, 471, 41, 41, 41,
733 41, 472, 41, 469, 41, 41, 41, 474, 479, 480,
734 473, 41, 41, 478, 475, 41, 476, 41, 41, 481,
735 482, 483, 41, 477, 485, 484, 41, 489, 41, 41,
736 41, 490, 41, 486, 41, 487, 493, 491, 41, 41,
737 41, 41, 488, 495, 41, 492, 41, 41, 41, 499,
738 41, 41, 41, 494, 41, 41, 500, 503, 496, 505,
739 504, 497, 498, 501, 41, 41, 41, 502, 41, 41,
740 509, 506, 507, 41, 511, 508, 41, 514, 512, 41,
Reid Spencer14310612006-12-31 05:40:51 +0000741
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000742 41, 517, 510, 41, 515, 513, 41, 41, 41, 41,
743 518, 41, 41, 521, 41, 41, 516, 523, 41, 41,
744 41, 41, 520, 41, 522, 524, 41, 41, 528, 519,
745 525, 41, 529, 41, 526, 531, 532, 41, 41, 41,
746 41, 527, 533, 530, 41, 41, 534, 535, 41, 41,
747 537, 41, 541, 41, 540, 41, 536, 538, 41, 41,
748 41, 542, 539, 41, 41, 41, 543, 548, 41, 41,
749 549, 545, 544, 41, 41, 553, 41, 41, 546, 547,
750 41, 41, 552, 554, 41, 41, 41, 551, 550, 41,
751 555, 38, 38, 38, 38, 40, 40, 51, 41, 51,
Reid Spencer14310612006-12-31 05:40:51 +0000752
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000753 51, 41, 41, 41, 41, 41, 41, 41, 41, 41,
754 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
755 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
756 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
757 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
758 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
759 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
760 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
761 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
762 41, 41, 41, 41, 41, 41, 244, 41, 41, 41,
Chris Lattner75466192006-05-19 21:28:53 +0000763
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000764 41, 41, 132, 41, 39, 556, 3, 556, 556, 556,
765 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
766 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
767 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
768 556, 556, 556, 556, 556, 556, 556, 556, 556, 556
Reid Spencer68a24bd2005-08-27 18:50:39 +0000769 } ;
770
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000771static yyconst flex_int16_t yy_chk[1251] =
Reid Spencer68a24bd2005-08-27 18:50:39 +0000772 { 0,
773 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
774 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
775 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
776 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000777 1, 1, 1, 9, 59, 9, 9, 9, 9, 10,
778 10, 10, 10, 11, 11, 11, 11, 11, 12, 561,
779 20, 64, 59, 12, 13, 13, 13, 13, 13, 13,
780 14, 14, 14, 14, 14, 14, 16, 20, 47, 17,
781 20, 52, 64, 47, 16, 65, 71, 20, 17, 52,
782 23, 16, 17, 16, 18, 16, 13, 17, 16, 18,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000783
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000784 17, 18, 19, 23, 22, 25, 27, 19, 65, 71,
785 25, 19, 18, 22, 68, 27, 18, 19, 25, 22,
786 19, 21, 30, 25, 35, 37, 21, 25, 21, 21,
787 27, 30, 26, 35, 37, 94, 21, 26, 68, 29,
788 21, 54, 21, 24, 24, 24, 24, 24, 34, 54,
789 26, 29, 77, 34, 24, 94, 26, 29, 36, 36,
790 53, 77, 29, 24, 24, 28, 34, 32, 43, 43,
791 43, 43, 32, 53, 28, 53, 28, 36, 55, 57,
792 28, 61, 28, 67, 28, 32, 28, 31, 32, 56,
793 57, 31, 129, 75, 129, 32, 61, 55, 67, 31,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000794
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000795 31, 56, 31, 31, 31, 56, 31, 44, 44, 44,
796 44, 75, 31, 62, 31, 31, 73, 31, 33, 63,
797 62, 69, 33, 45, 45, 45, 45, 45, 74, 69,
798 33, 33, 73, 33, 63, 33, 63, 33, 78, 33,
799 72, 74, 79, 33, 46, 46, 46, 46, 46, 46,
800 48, 48, 48, 48, 48, 72, 559, 48, 555, 553,
801 79, 78, 72, 48, 49, 49, 49, 49, 49, 49,
802 50, 50, 50, 50, 50, 58, 50, 50, 66, 50,
803 50, 50, 50, 50, 50, 66, 58, 76, 66, 82,
804 83, 80, 81, 84, 85, 88, 76, 66, 58, 80,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000805
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000806 85, 81, 81, 86, 89, 82, 87, 88, 91, 83,
807 76, 87, 93, 90, 104, 84, 84, 102, 84, 89,
808 86, 90, 95, 91, 96, 97, 86, 93, 99, 100,
809 98, 95, 103, 96, 97, 98, 99, 101, 102, 105,
810 107, 104, 100, 108, 106, 95, 109, 96, 111, 107,
811 101, 106, 105, 110, 109, 103, 112, 111, 108, 106,
812 113, 118, 110, 107, 114, 115, 113, 108, 117, 109,
813 119, 106, 122, 120, 112, 121, 110, 114, 115, 123,
814 118, 117, 124, 119, 121, 125, 115, 552, 123, 130,
815 124, 124, 117, 120, 125, 122, 127, 126, 121, 128,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000816
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000817 124, 126, 123, 124, 128, 131, 142, 145, 124, 127,
818 130, 127, 134, 134, 134, 134, 135, 135, 135, 135,
819 141, 144, 154, 135, 142, 147, 131, 379, 145, 135,
820 144, 141, 131, 137, 137, 137, 137, 137, 147, 379,
821 137, 150, 149, 151, 154, 157, 137, 138, 138, 149,
822 138, 138, 138, 138, 138, 153, 150, 155, 151, 156,
823 157, 158, 159, 153, 156, 161, 155, 160, 162, 163,
824 164, 161, 165, 167, 158, 166, 160, 159, 163, 168,
825 160, 162, 169, 170, 168, 173, 175, 171, 172, 551,
826 163, 173, 164, 176, 166, 165, 171, 172, 167, 174,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000827
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000828 179, 170, 177, 171, 170, 175, 178, 174, 176, 169,
829 180, 177, 181, 182, 183, 178, 184, 185, 179, 180,
830 186, 195, 183, 188, 199, 198, 181, 202, 211, 178,
831 203, 204, 185, 205, 210, 209, 182, 184, 188, 549,
832 204, 195, 198, 210, 186, 209, 211, 199, 201, 201,
833 201, 201, 202, 203, 201, 201, 205, 201, 201, 201,
834 201, 201, 201, 214, 215, 217, 218, 219, 220, 223,
835 234, 222, 240, 221, 227, 230, 240, 233, 219, 214,
836 222, 218, 221, 234, 230, 215, 233, 220, 217, 235,
837 221, 236, 227, 237, 223, 238, 236, 239, 242, 243,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000838
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000839 238, 237, 264, 251, 289, 235, 245, 245, 245, 245,
840 251, 239, 255, 245, 547, 264, 242, 255, 289, 245,
841 246, 246, 243, 246, 246, 246, 246, 247, 247, 247,
842 247, 248, 248, 248, 248, 248, 249, 249, 249, 249,
843 249, 250, 252, 254, 258, 259, 260, 261, 262, 263,
844 265, 258, 267, 262, 266, 269, 268, 272, 250, 252,
845 254, 268, 261, 271, 272, 275, 263, 267, 259, 260,
846 266, 276, 271, 270, 277, 278, 269, 265, 270, 282,
847 281, 283, 285, 286, 282, 287, 290, 288, 275, 291,
848 283, 285, 295, 292, 276, 281, 277, 296, 277, 278,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000849
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000850 298, 290, 299, 300, 286, 288, 287, 291, 292, 303,
851 295, 304, 296, 306, 546, 321, 314, 307, 304, 308,
852 321, 300, 303, 306, 298, 299, 307, 310, 311, 308,
853 313, 314, 319, 316, 320, 311, 310, 322, 324, 313,
854 316, 326, 319, 328, 320, 329, 331, 331, 331, 331,
855 333, 336, 334, 328, 322, 333, 337, 338, 329, 324,
856 334, 339, 338, 337, 326, 328, 340, 341, 339, 342,
857 343, 340, 344, 336, 345, 346, 343, 347, 342, 348,
858 349, 357, 351, 356, 346, 354, 355, 349, 341, 351,
859 357, 344, 358, 345, 347, 359, 348, 360, 354, 355,
Reid Spencer68a24bd2005-08-27 18:50:39 +0000860
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000861 356, 361, 362, 363, 366, 364, 367, 358, 369, 368,
862 372, 370, 359, 360, 364, 367, 368, 369, 371, 362,
863 370, 366, 363, 372, 361, 373, 374, 371, 376, 375,
864 380, 377, 381, 383, 389, 385, 387, 386, 376, 389,
865 390, 381, 385, 373, 375, 386, 388, 387, 391, 374,
866 377, 393, 383, 380, 394, 396, 398, 399, 401, 388,
867 397, 402, 407, 390, 393, 391, 399, 397, 403, 406,
868 418, 411, 396, 406, 406, 412, 425, 394, 411, 402,
869 401, 415, 417, 416, 398, 407, 403, 417, 420, 426,
870 415, 412, 416, 418, 427, 420, 429, 425, 430, 439,
Chris Lattnere869eef2005-11-12 00:11:49 +0000871
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000872 436, 440, 441, 442, 443, 429, 426, 445, 430, 447,
873 441, 427, 436, 450, 439, 451, 442, 452, 453, 454,
874 456, 443, 457, 440, 460, 458, 459, 447, 454, 456,
875 445, 462, 463, 453, 450, 461, 451, 465, 466, 457,
876 458, 459, 469, 452, 461, 460, 467, 466, 468, 470,
877 471, 467, 472, 462, 474, 463, 470, 468, 475, 476,
878 477, 479, 465, 472, 481, 469, 480, 486, 482, 477,
879 488, 496, 504, 471, 501, 544, 479, 482, 474, 488,
880 486, 475, 476, 480, 489, 493, 490, 481, 492, 494,
881 493, 489, 490, 499, 496, 492, 500, 501, 499, 502,
Chris Lattner75466192006-05-19 21:28:53 +0000882
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000883 503, 504, 494, 505, 502, 500, 506, 507, 508, 509,
884 505, 512, 510, 508, 513, 514, 503, 510, 515, 516,
885 518, 521, 507, 517, 509, 512, 520, 522, 516, 506,
886 513, 523, 517, 526, 514, 520, 521, 527, 525, 532,
887 528, 515, 522, 518, 530, 533, 523, 525, 534, 535,
888 527, 536, 533, 537, 532, 538, 526, 528, 539, 542,
889 540, 534, 530, 541, 543, 545, 535, 540, 548, 554,
890 541, 537, 536, 531, 550, 548, 529, 524, 538, 539,
891 519, 511, 545, 550, 498, 497, 495, 543, 542, 491,
892 554, 557, 557, 557, 557, 558, 558, 560, 487, 560,
Anton Korobeynikovbcb97702006-09-17 20:25:45 +0000893
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000894 560, 485, 484, 483, 478, 473, 464, 455, 449, 448,
895 446, 444, 438, 437, 435, 434, 433, 432, 431, 428,
896 424, 423, 422, 421, 419, 414, 413, 410, 409, 408,
897 405, 404, 400, 395, 392, 384, 382, 378, 365, 353,
898 352, 350, 335, 332, 330, 327, 325, 323, 318, 317,
899 315, 312, 309, 305, 302, 297, 294, 293, 284, 280,
900 279, 274, 273, 257, 256, 253, 241, 232, 231, 229,
901 228, 226, 225, 224, 216, 213, 212, 208, 207, 206,
902 200, 197, 196, 194, 193, 192, 191, 190, 189, 187,
903 152, 148, 146, 143, 140, 136, 132, 116, 92, 70,
Reid Spencer3da59db2006-11-27 01:05:10 +0000904
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000905 60, 40, 38, 8, 7, 3, 556, 556, 556, 556,
906 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
907 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
908 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
909 556, 556, 556, 556, 556, 556, 556, 556, 556, 556
Reid Spencer68a24bd2005-08-27 18:50:39 +0000910 } ;
911
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000912/* Table of booleans, true if rule could match eol. */
913static yyconst flex_int32_t yy_rule_can_match_eol[137] =
914 { 0,
9150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, };
922
923static yy_state_type yy_last_accepting_state;
924static char *yy_last_accepting_cpos;
925
926extern int llvmAsm_flex_debug;
927int llvmAsm_flex_debug = 0;
928
929/* The intent behind this definition is that it'll catch
930 * any uses of REJECT which flex missed.
931 */
932#define REJECT reject_used_but_not_detected
Reid Spencer68a24bd2005-08-27 18:50:39 +0000933#define yymore() yymore_used_but_not_detected
934#define YY_MORE_ADJ 0
935#define YY_RESTORE_YY_MORE_OFFSET
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000936char *llvmAsmtext;
937#line 1 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000938/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
939//
940// The LLVM Compiler Infrastructure
941//
942// This file was developed by the LLVM research group and is distributed under
943// the University of Illinois Open Source License. See LICENSE.TXT for details.
944//
945//===----------------------------------------------------------------------===//
946//
947// This file implements the flex scanner for LLVM assembly languages files.
948//
949//===----------------------------------------------------------------------===*/
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000950#line 28 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +0000951#include "ParserInternals.h"
952#include "llvm/Module.h"
953#include <list>
954#include "llvmAsmParser.h"
955#include <cctype>
956#include <cstdlib>
957
958void set_scan_file(FILE * F){
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000959 llvmAsm_switch_to_buffer(llvmAsm_create_buffer(F,YY_BUF_SIZE ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +0000960}
961void set_scan_string (const char * str) {
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000962 llvmAsm_scan_string (str);
Reid Spencer68a24bd2005-08-27 18:50:39 +0000963}
964
Reid Spencer3ed469c2006-11-02 20:25:50 +0000965// Construct a token value for a non-obsolete token
Reid Spencer68a24bd2005-08-27 18:50:39 +0000966#define RET_TOK(type, Enum, sym) \
Reid Spencera132e042006-12-03 05:46:11 +0000967 llvmAsmlval.type = Instruction::Enum; \
968 return sym
969
Reid Spencer3ed469c2006-11-02 20:25:50 +0000970// Construct a token value for an obsolete token
Reid Spencera132e042006-12-03 05:46:11 +0000971#define RET_TY(CTYPE, SYM) \
972 llvmAsmlval.PrimType = CTYPE;\
Reid Spencer481169e2006-12-01 00:33:46 +0000973 return SYM
Reid Spencer68a24bd2005-08-27 18:50:39 +0000974
975namespace llvm {
976
977// TODO: All of the static identifiers are figured out by the lexer,
978// these should be hashed to reduce the lexer size
979
980
981// atoull - Convert an ascii string of decimal digits into the unsigned long
982// long representation... this does not have to do input error checking,
983// because we know that the input will be matched by a suitable regex...
984//
985static uint64_t atoull(const char *Buffer) {
986 uint64_t Result = 0;
987 for (; *Buffer; Buffer++) {
988 uint64_t OldRes = Result;
989 Result *= 10;
990 Result += *Buffer-'0';
991 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +0000992 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +0000993 }
994 return Result;
995}
996
997static uint64_t HexIntToVal(const char *Buffer) {
998 uint64_t Result = 0;
999 for (; *Buffer; ++Buffer) {
1000 uint64_t OldRes = Result;
1001 Result *= 16;
1002 char C = *Buffer;
1003 if (C >= '0' && C <= '9')
1004 Result += C-'0';
1005 else if (C >= 'A' && C <= 'F')
1006 Result += C-'A'+10;
1007 else if (C >= 'a' && C <= 'f')
1008 Result += C-'a'+10;
1009
1010 if (Result < OldRes) // Uh, oh, overflow detected!!!
Reid Spencer61c83e02006-08-18 08:43:06 +00001011 GenerateError("constant bigger than 64 bits detected!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001012 }
1013 return Result;
1014}
1015
1016
1017// HexToFP - Convert the ascii string in hexidecimal format to the floating
1018// point representation of it.
1019//
1020static double HexToFP(const char *Buffer) {
1021 // Behave nicely in the face of C TBAA rules... see:
1022 // http://www.nullstone.com/htmls/category/aliastyp.htm
1023 union {
1024 uint64_t UI;
1025 double FP;
1026 } UIntToFP;
1027 UIntToFP.UI = HexIntToVal(Buffer);
1028
1029 assert(sizeof(double) == sizeof(uint64_t) &&
1030 "Data sizes incompatible on this target!");
1031 return UIntToFP.FP; // Cast Hex constant to double
1032}
1033
1034
1035// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
1036// appropriate character. If AllowNull is set to false, a \00 value will cause
1037// an exception to be thrown.
1038//
1039// If AllowNull is set to true, the return value of the function points to the
1040// last character of the string in memory.
1041//
1042char *UnEscapeLexed(char *Buffer, bool AllowNull) {
1043 char *BOut = Buffer;
1044 for (char *BIn = Buffer; *BIn; ) {
1045 if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
1046 char Tmp = BIn[3]; BIn[3] = 0; // Terminate string
1047 *BOut = (char)strtol(BIn+1, 0, 16); // Convert to number
1048 if (!AllowNull && !*BOut)
Reid Spencer61c83e02006-08-18 08:43:06 +00001049 GenerateError("String literal cannot accept \\00 escape!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00001050
1051 BIn[3] = Tmp; // Restore character
1052 BIn += 3; // Skip over handled chars
1053 ++BOut;
1054 } else {
1055 *BOut++ = *BIn++;
1056 }
1057 }
1058
1059 return BOut;
1060}
1061
1062} // End llvm namespace
1063
1064using namespace llvm;
1065
1066#define YY_NEVER_INTERACTIVE 1
1067/* Comments start with a ; and go till end of line */
1068/* Variable(Value) identifiers start with a % sign */
1069/* Label identifiers end with a colon */
1070/* Quoted names can contain any character except " and \ */
1071/* [PN]Integer: match positive and negative literal integer values that
1072 * are preceeded by a '%' character. These represent unnamed variable slots.
1073 */
1074/* E[PN]Integer: match positive and negative literal integer values */
1075/* FPConstant - A Floating point constant.
1076 */
1077/* HexFPConstant - Floating point constant represented in IEEE format as a
1078 * hexadecimal number for when exponential notation is not precise enough.
1079 */
1080/* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
1081 * it to deal with 64 bit numbers.
1082 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001083#line 1084 "Lexer.cpp"
1084
1085#define INITIAL 0
1086
1087#ifndef YY_NO_UNISTD_H
1088/* Special case for "unistd.h", since it is non-ANSI. We include it way
1089 * down here because we want the user's section 1 to have been scanned first.
1090 * The user has a chance to override it with an option.
1091 */
1092#include <unistd.h>
1093#endif
1094
1095#ifndef YY_EXTRA_TYPE
1096#define YY_EXTRA_TYPE void *
1097#endif
1098
1099static int yy_init_globals (void );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001100
1101/* Macros after this point can all be overridden by user definitions in
1102 * section 1.
1103 */
1104
1105#ifndef YY_SKIP_YYWRAP
1106#ifdef __cplusplus
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001107extern "C" int llvmAsmwrap (void );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001108#else
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001109extern int llvmAsmwrap (void );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001110#endif
1111#endif
1112
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001113 static inline void yyunput (int c,char *buf_ptr );
1114
Reid Spencer68a24bd2005-08-27 18:50:39 +00001115#ifndef yytext_ptr
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001116static void yy_flex_strncpy (char *,yyconst char *,int );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001117#endif
1118
1119#ifdef YY_NEED_STRLEN
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001120static int yy_flex_strlen (yyconst char * );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001121#endif
1122
1123#ifndef YY_NO_INPUT
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001124
Reid Spencer68a24bd2005-08-27 18:50:39 +00001125#ifdef __cplusplus
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001126static int yyinput (void );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001127#else
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001128static int input (void );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001129#endif
1130
Reid Spencer68a24bd2005-08-27 18:50:39 +00001131#endif
1132
1133/* Amount of stuff to slurp up with each read. */
1134#ifndef YY_READ_BUF_SIZE
1135#define YY_READ_BUF_SIZE 8192
1136#endif
1137
1138/* Copy whatever the last rule matched to the standard output. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001139#ifndef ECHO
1140/* This used to be an fputs(), but since the string might contain NUL's,
1141 * we now use fwrite().
1142 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001143#define ECHO (void) fwrite( llvmAsmtext, llvmAsmleng, 1, llvmAsmout )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001144#endif
1145
1146/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1147 * is returned in "result".
1148 */
1149#ifndef YY_INPUT
1150#define YY_INPUT(buf,result,max_size) \
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001151 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001152 { \
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001153 int c = '*'; \
1154 size_t n; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001155 for ( n = 0; n < max_size && \
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001156 (c = getc( llvmAsmin )) != EOF && c != '\n'; ++n ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001157 buf[n] = (char) c; \
1158 if ( c == '\n' ) \
1159 buf[n++] = (char) c; \
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001160 if ( c == EOF && ferror( llvmAsmin ) ) \
Reid Spencer68a24bd2005-08-27 18:50:39 +00001161 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1162 result = n; \
1163 } \
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001164 else \
1165 { \
1166 errno=0; \
1167 while ( (result = fread(buf, 1, max_size, llvmAsmin))==0 && ferror(llvmAsmin)) \
1168 { \
1169 if( errno != EINTR) \
1170 { \
1171 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1172 break; \
1173 } \
1174 errno=0; \
1175 clearerr(llvmAsmin); \
1176 } \
1177 }\
1178\
1179
Reid Spencer68a24bd2005-08-27 18:50:39 +00001180#endif
1181
1182/* No semi-colon after return; correct usage is to write "yyterminate();" -
1183 * we don't want an extra ';' after the "return" because that will cause
1184 * some compilers to complain about unreachable statements.
1185 */
1186#ifndef yyterminate
1187#define yyterminate() return YY_NULL
1188#endif
1189
1190/* Number of entries by which start-condition stack grows. */
1191#ifndef YY_START_STACK_INCR
1192#define YY_START_STACK_INCR 25
1193#endif
1194
1195/* Report a fatal error. */
1196#ifndef YY_FATAL_ERROR
1197#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1198#endif
1199
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001200/* end tables serialization structures and prototypes */
1201
Reid Spencer68a24bd2005-08-27 18:50:39 +00001202/* Default declaration of generated scanner - a define so the user can
1203 * easily add parameters.
1204 */
1205#ifndef YY_DECL
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001206#define YY_DECL_IS_OURS 1
Reid Spencer68a24bd2005-08-27 18:50:39 +00001207
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001208extern int llvmAsmlex (void);
1209
1210#define YY_DECL int llvmAsmlex (void)
1211#endif /* !YY_DECL */
1212
1213/* Code executed at the beginning of each rule, after llvmAsmtext and llvmAsmleng
Reid Spencer68a24bd2005-08-27 18:50:39 +00001214 * have been set up.
1215 */
1216#ifndef YY_USER_ACTION
1217#define YY_USER_ACTION
1218#endif
1219
1220/* Code executed at the end of each rule. */
1221#ifndef YY_BREAK
1222#define YY_BREAK break;
1223#endif
1224
1225#define YY_RULE_SETUP \
1226 YY_USER_ACTION
1227
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001228/** The main scanner function which does all the work.
1229 */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001230YY_DECL
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001231{
Reid Spencer68a24bd2005-08-27 18:50:39 +00001232 register yy_state_type yy_current_state;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001233 register char *yy_cp, *yy_bp;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001234 register int yy_act;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001235
1236#line 188 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001237
1238
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001239#line 1240 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001240
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001241 if ( !(yy_init) )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001242 {
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001243 (yy_init) = 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001244
1245#ifdef YY_USER_INIT
1246 YY_USER_INIT;
1247#endif
1248
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001249 if ( ! (yy_start) )
1250 (yy_start) = 1; /* first start state */
Reid Spencer68a24bd2005-08-27 18:50:39 +00001251
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001252 if ( ! llvmAsmin )
1253 llvmAsmin = stdin;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001254
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001255 if ( ! llvmAsmout )
1256 llvmAsmout = stdout;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001257
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001258 if ( ! YY_CURRENT_BUFFER ) {
1259 llvmAsmensure_buffer_stack ();
1260 YY_CURRENT_BUFFER_LVALUE =
1261 llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE );
1262 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001263
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001264 llvmAsm_load_buffer_state( );
Reid Spencer68a24bd2005-08-27 18:50:39 +00001265 }
1266
1267 while ( 1 ) /* loops until end-of-file is reached */
1268 {
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001269 yy_cp = (yy_c_buf_p);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001270
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001271 /* Support of llvmAsmtext. */
1272 *yy_cp = (yy_hold_char);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001273
1274 /* yy_bp points to the position in yy_ch_buf of the start of
1275 * the current run.
1276 */
1277 yy_bp = yy_cp;
1278
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001279 yy_current_state = (yy_start);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001280yy_match:
1281 do
1282 {
1283 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001284 if ( yy_accept[yy_current_state] )
1285 {
1286 (yy_last_accepting_state) = yy_current_state;
1287 (yy_last_accepting_cpos) = yy_cp;
1288 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001289 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1290 {
1291 yy_current_state = (int) yy_def[yy_current_state];
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001292 if ( yy_current_state >= 557 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001293 yy_c = yy_meta[(unsigned int) yy_c];
1294 }
1295 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer68a24bd2005-08-27 18:50:39 +00001296 ++yy_cp;
1297 }
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001298 while ( yy_current_state != 556 );
1299 yy_cp = (yy_last_accepting_cpos);
1300 yy_current_state = (yy_last_accepting_state);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001301
1302yy_find_action:
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001303 yy_act = yy_accept[yy_current_state];
Reid Spencer68a24bd2005-08-27 18:50:39 +00001304
1305 YY_DO_BEFORE_ACTION;
1306
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001307 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00001308 {
1309 int yyl;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001310 for ( yyl = 0; yyl < llvmAsmleng; ++yyl )
1311 if ( llvmAsmtext[yyl] == '\n' )
1312
1313 llvmAsmlineno++;
1314;
Reid Spencer68a24bd2005-08-27 18:50:39 +00001315 }
1316
1317do_action: /* This label is used only to access EOF actions. */
1318
Reid Spencer68a24bd2005-08-27 18:50:39 +00001319 switch ( yy_act )
1320 { /* beginning of action switch */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001321 case 0: /* must back up */
1322 /* undo the effects of YY_DO_BEFORE_ACTION */
1323 *yy_cp = (yy_hold_char);
1324 yy_cp = (yy_last_accepting_cpos);
1325 yy_current_state = (yy_last_accepting_state);
1326 goto yy_find_action;
1327
Reid Spencer68a24bd2005-08-27 18:50:39 +00001328case 1:
1329YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001330#line 190 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001331{ /* Ignore comments for now */ }
1332 YY_BREAK
1333case 2:
1334YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001335#line 192 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001336{ return BEGINTOK; }
1337 YY_BREAK
1338case 3:
1339YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001340#line 193 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001341{ return ENDTOK; }
1342 YY_BREAK
1343case 4:
1344YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001345#line 194 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001346{ return TRUETOK; }
1347 YY_BREAK
1348case 5:
1349YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001350#line 195 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001351{ return FALSETOK; }
1352 YY_BREAK
1353case 6:
1354YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001355#line 196 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001356{ return DECLARE; }
1357 YY_BREAK
1358case 7:
1359YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001360#line 197 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001361{ return DEFINE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001362 YY_BREAK
1363case 8:
1364YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001365#line 198 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001366{ return GLOBAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001367 YY_BREAK
1368case 9:
1369YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001370#line 199 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001371{ return CONSTANT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001372 YY_BREAK
1373case 10:
1374YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001375#line 200 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001376{ return INTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001377 YY_BREAK
1378case 11:
1379YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001380#line 201 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001381{ return LINKONCE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001382 YY_BREAK
1383case 12:
1384YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001385#line 202 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001386{ return WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001387 YY_BREAK
1388case 13:
1389YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001390#line 203 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001391{ return APPENDING; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001392 YY_BREAK
1393case 14:
1394YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001395#line 204 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001396{ return DLLIMPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001397 YY_BREAK
1398case 15:
1399YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001400#line 205 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001401{ return DLLEXPORT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001402 YY_BREAK
1403case 16:
1404YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001405#line 206 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1406{ return HIDDEN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001407 YY_BREAK
1408case 17:
1409YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001410#line 207 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1411{ return EXTERN_WEAK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001412 YY_BREAK
1413case 18:
1414YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001415#line 208 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1416{ return EXTERNAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001417 YY_BREAK
1418case 19:
1419YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001420#line 209 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1421{ return IMPLEMENTATION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001422 YY_BREAK
1423case 20:
1424YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001425#line 210 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1426{ return ZEROINITIALIZER; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001427 YY_BREAK
1428case 21:
1429YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001430#line 211 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1431{ return DOTDOTDOT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001432 YY_BREAK
1433case 22:
1434YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001435#line 212 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1436{ return UNDEF; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001437 YY_BREAK
1438case 23:
1439YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001440#line 213 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1441{ return NULL_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001442 YY_BREAK
1443case 24:
1444YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001445#line 214 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1446{ return TO; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001447 YY_BREAK
1448case 25:
1449YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001450#line 215 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1451{ return TAIL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001452 YY_BREAK
1453case 26:
1454YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001455#line 216 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1456{ return TARGET; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001457 YY_BREAK
1458case 27:
1459YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001460#line 217 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1461{ return TRIPLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001462 YY_BREAK
1463case 28:
1464YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001465#line 218 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1466{ return DEPLIBS; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001467 YY_BREAK
1468case 29:
1469YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001470#line 219 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1471{ return ENDIAN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001472 YY_BREAK
1473case 30:
1474YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001475#line 220 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1476{ return POINTERSIZE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001477 YY_BREAK
1478case 31:
1479YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001480#line 221 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1481{ return DATALAYOUT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001482 YY_BREAK
1483case 32:
1484YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001485#line 222 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1486{ return LITTLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001487 YY_BREAK
1488case 33:
1489YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001490#line 223 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1491{ return BIG; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001492 YY_BREAK
1493case 34:
1494YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001495#line 224 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1496{ return VOLATILE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001497 YY_BREAK
1498case 35:
1499YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001500#line 225 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1501{ return ALIGN; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001502 YY_BREAK
1503case 36:
1504YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001505#line 226 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1506{ return SECTION; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001507 YY_BREAK
1508case 37:
1509YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001510#line 227 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1511{ return MODULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001512 YY_BREAK
1513case 38:
1514YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001515#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1516{ return ASM_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001517 YY_BREAK
1518case 39:
1519YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001520#line 229 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1521{ return SIDEEFFECT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001522 YY_BREAK
1523case 40:
1524YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001525#line 231 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1526{ return CC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001527 YY_BREAK
1528case 41:
1529YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001530#line 232 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1531{ return CCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001532 YY_BREAK
1533case 42:
1534YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001535#line 233 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1536{ return CSRETCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001537 YY_BREAK
1538case 43:
1539YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001540#line 234 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1541{ return FASTCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001542 YY_BREAK
1543case 44:
1544YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001545#line 235 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1546{ return COLDCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001547 YY_BREAK
1548case 45:
1549YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001550#line 236 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1551{ return X86_STDCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001552 YY_BREAK
1553case 46:
1554YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001555#line 237 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1556{ return X86_FASTCALLCC_TOK; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001557 YY_BREAK
1558case 47:
1559YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001560#line 239 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1561{ RET_TY(Type::VoidTy, VOID); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001562 YY_BREAK
1563case 48:
1564YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001565#line 240 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1566{ RET_TY(Type::Int1Ty, BOOL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001567 YY_BREAK
1568case 49:
1569YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001570#line 241 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1571{ RET_TY(Type::FloatTy, FLOAT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001572 YY_BREAK
1573case 50:
1574YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001575#line 242 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1576{ RET_TY(Type::DoubleTy,DOUBLE);}
Reid Spencer68a24bd2005-08-27 18:50:39 +00001577 YY_BREAK
1578case 51:
1579YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001580#line 243 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1581{ RET_TY(Type::LabelTy, LABEL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001582 YY_BREAK
1583case 52:
1584YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001585#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1586{ return TYPE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001587 YY_BREAK
1588case 53:
1589YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001590#line 245 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1591{ return OPAQUE; }
1592 YY_BREAK
1593case 54:
1594YY_RULE_SETUP
1595#line 246 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1596{ uint64_t NumBits = atoull(llvmAsmtext+1);
Reid Spencera54b7cb2007-01-12 07:05:14 +00001597 if (NumBits < IntegerType::MIN_INT_BITS ||
1598 NumBits > IntegerType::MAX_INT_BITS)
1599 GenerateError("Bitwidth for integer type out of range!");
1600 const Type* Ty = IntegerType::get(NumBits);
1601 RET_TY(Ty, INTTYPE);
1602 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001603 YY_BREAK
Reid Spencer68a24bd2005-08-27 18:50:39 +00001604case 55:
1605YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001606#line 254 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1607{ RET_TOK(BinaryOpVal, Add, ADD); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001608 YY_BREAK
1609case 56:
1610YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001611#line 255 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1612{ RET_TOK(BinaryOpVal, Sub, SUB); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001613 YY_BREAK
1614case 57:
1615YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001616#line 256 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1617{ RET_TOK(BinaryOpVal, Mul, MUL); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001618 YY_BREAK
1619case 58:
1620YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001621#line 257 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1622{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001623 YY_BREAK
1624case 59:
1625YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001626#line 258 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1627{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001628 YY_BREAK
1629case 60:
1630YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001631#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1632{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001633 YY_BREAK
1634case 61:
1635YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001636#line 260 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1637{ RET_TOK(BinaryOpVal, URem, UREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001638 YY_BREAK
1639case 62:
1640YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001641#line 261 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1642{ RET_TOK(BinaryOpVal, SRem, SREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001643 YY_BREAK
1644case 63:
1645YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001646#line 262 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1647{ RET_TOK(BinaryOpVal, FRem, FREM); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001648 YY_BREAK
1649case 64:
1650YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001651#line 263 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1652{ RET_TOK(BinaryOpVal, And, AND); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001653 YY_BREAK
1654case 65:
1655YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001656#line 264 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1657{ RET_TOK(BinaryOpVal, Or , OR ); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001658 YY_BREAK
1659case 66:
1660YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001661#line 265 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1662{ RET_TOK(BinaryOpVal, Xor, XOR); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001663 YY_BREAK
1664case 67:
1665YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001666#line 266 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1667{ RET_TOK(OtherOpVal, ICmp, ICMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001668 YY_BREAK
1669case 68:
1670YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001671#line 267 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1672{ RET_TOK(OtherOpVal, FCmp, FCMP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001673 YY_BREAK
1674case 69:
1675YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001676#line 268 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1677{ return EQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001678 YY_BREAK
1679case 70:
1680YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001681#line 269 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1682{ return NE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001683 YY_BREAK
1684case 71:
1685YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001686#line 270 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1687{ return SLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001688 YY_BREAK
1689case 72:
1690YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001691#line 271 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1692{ return SGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001693 YY_BREAK
1694case 73:
1695YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001696#line 272 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1697{ return SLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001698 YY_BREAK
1699case 74:
1700YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001701#line 273 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1702{ return SGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001703 YY_BREAK
1704case 75:
1705YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001706#line 274 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1707{ return ULT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001708 YY_BREAK
1709case 76:
1710YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001711#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1712{ return UGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001713 YY_BREAK
1714case 77:
1715YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001716#line 276 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1717{ return ULE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001718 YY_BREAK
1719case 78:
1720YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001721#line 277 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1722{ return UGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001723 YY_BREAK
1724case 79:
1725YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001726#line 278 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1727{ return OEQ; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001728 YY_BREAK
1729case 80:
1730YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001731#line 279 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1732{ return ONE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001733 YY_BREAK
1734case 81:
1735YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001736#line 280 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1737{ return OLT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001738 YY_BREAK
1739case 82:
1740YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001741#line 281 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1742{ return OGT; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001743 YY_BREAK
1744case 83:
1745YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001746#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1747{ return OLE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001748 YY_BREAK
1749case 84:
1750YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001751#line 283 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1752{ return OGE; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001753 YY_BREAK
1754case 85:
1755YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001756#line 284 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1757{ return ORD; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001758 YY_BREAK
1759case 86:
1760YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001761#line 285 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1762{ return UNO; }
Nate Begeman14b05292005-11-05 09:21:28 +00001763 YY_BREAK
1764case 87:
1765YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001766#line 286 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1767{ return UEQ; }
Chris Lattnere869eef2005-11-12 00:11:49 +00001768 YY_BREAK
1769case 88:
1770YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001771#line 287 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1772{ return UNE; }
Robert Bocchino9c62b562006-01-10 19:04:32 +00001773 YY_BREAK
1774case 89:
1775YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001776#line 289 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1777{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
Robert Bocchino2def1b32006-01-17 20:06:25 +00001778 YY_BREAK
1779case 90:
1780YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001781#line 290 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1782{ RET_TOK(OtherOpVal, Call, CALL); }
Chris Lattner8335e842006-01-23 23:05:42 +00001783 YY_BREAK
1784case 91:
1785YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001786#line 291 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1787{ RET_TOK(CastOpVal, Trunc, TRUNC); }
Chris Lattner66316012006-01-24 04:14:29 +00001788 YY_BREAK
1789case 92:
1790YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001791#line 292 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1792{ RET_TOK(CastOpVal, ZExt, ZEXT); }
Chris Lattner0e9c3762006-01-25 22:27:16 +00001793 YY_BREAK
1794case 93:
1795YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001796#line 293 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1797{ RET_TOK(CastOpVal, SExt, SEXT); }
Chris Lattnerd5efe842006-04-08 01:18:56 +00001798 YY_BREAK
1799case 94:
1800YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001801#line 294 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1802{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
Chris Lattner75466192006-05-19 21:28:53 +00001803 YY_BREAK
1804case 95:
1805YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001806#line 295 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1807{ RET_TOK(CastOpVal, FPExt, FPEXT); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001808 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001809case 96:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001810YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001811#line 296 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1812{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001813 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001814case 97:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001815YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001816#line 297 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1817{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
Reid Spencer68a24bd2005-08-27 18:50:39 +00001818 YY_BREAK
Chris Lattner75466192006-05-19 21:28:53 +00001819case 98:
Reid Spencer68a24bd2005-08-27 18:50:39 +00001820YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001821#line 298 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1822{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001823 YY_BREAK
1824case 99:
1825YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001826#line 299 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1827{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001828 YY_BREAK
1829case 100:
1830YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001831#line 300 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1832{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001833 YY_BREAK
Anton Korobeynikovbcb97702006-09-17 20:25:45 +00001834case 101:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001835YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001836#line 301 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1837{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001838 YY_BREAK
1839case 102:
1840YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001841#line 302 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1842{ RET_TOK(CastOpVal, BitCast, BITCAST); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001843 YY_BREAK
1844case 103:
1845YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001846#line 303 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1847{ RET_TOK(OtherOpVal, Select, SELECT); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001848 YY_BREAK
1849case 104:
1850YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001851#line 304 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1852{ RET_TOK(OtherOpVal, Shl, SHL); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001853 YY_BREAK
1854case 105:
1855YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001856#line 305 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1857{ RET_TOK(OtherOpVal, LShr, LSHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001858 YY_BREAK
1859case 106:
1860YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001861#line 306 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1862{ RET_TOK(OtherOpVal, AShr, ASHR); }
Reid Spencer3ed469c2006-11-02 20:25:50 +00001863 YY_BREAK
1864case 107:
1865YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001866#line 307 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1867{ RET_TOK(OtherOpVal, VAArg , VAARG); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001868 YY_BREAK
1869case 108:
1870YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001871#line 308 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1872{ RET_TOK(TermOpVal, Ret, RET); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001873 YY_BREAK
1874case 109:
1875YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001876#line 309 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1877{ RET_TOK(TermOpVal, Br, BR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001878 YY_BREAK
1879case 110:
1880YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001881#line 310 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1882{ RET_TOK(TermOpVal, Switch, SWITCH); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001883 YY_BREAK
1884case 111:
1885YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001886#line 311 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1887{ RET_TOK(TermOpVal, Invoke, INVOKE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001888 YY_BREAK
1889case 112:
1890YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001891#line 312 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1892{ RET_TOK(TermOpVal, Unwind, UNWIND); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001893 YY_BREAK
1894case 113:
1895YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001896#line 313 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1897{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001898 YY_BREAK
1899case 114:
1900YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001901#line 315 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1902{ RET_TOK(MemOpVal, Malloc, MALLOC); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001903 YY_BREAK
1904case 115:
1905YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001906#line 316 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1907{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001908 YY_BREAK
1909case 116:
1910YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001911#line 317 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1912{ RET_TOK(MemOpVal, Free, FREE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001913 YY_BREAK
1914case 117:
1915YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001916#line 318 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1917{ RET_TOK(MemOpVal, Load, LOAD); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001918 YY_BREAK
1919case 118:
1920YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001921#line 319 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1922{ RET_TOK(MemOpVal, Store, STORE); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001923 YY_BREAK
1924case 119:
1925YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001926#line 320 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1927{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001928 YY_BREAK
1929case 120:
1930YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001931#line 322 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1932{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
Reid Spencer3da59db2006-11-27 01:05:10 +00001933 YY_BREAK
1934case 121:
1935YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001936#line 323 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1937{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
Reid Spencera132e042006-12-03 05:46:11 +00001938 YY_BREAK
1939case 122:
1940YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001941#line 324 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1942{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001943 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001944case 123:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001945YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001946#line 327 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001947{
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001948 UnEscapeLexed(llvmAsmtext+1);
1949 llvmAsmlval.StrVal = strdup(llvmAsmtext+1); // Skip %
1950 return VAR_ID;
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001951 }
1952 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001953case 124:
Anton Korobeynikov43e3aad2006-09-14 18:25:26 +00001954YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001955#line 332 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00001956{
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001957 llvmAsmtext[strlen(llvmAsmtext)-1] = 0; // nuke colon
1958 UnEscapeLexed(llvmAsmtext);
1959 llvmAsmlval.StrVal = strdup(llvmAsmtext);
Owen Anderson1dc69692006-10-18 02:21:48 +00001960 return LABELSTR;
1961 }
1962 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001963case 125:
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001964/* rule 125 can match eol */
Owen Anderson1dc69692006-10-18 02:21:48 +00001965YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001966#line 338 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1967{
1968 llvmAsmtext[strlen(llvmAsmtext)-2] = 0; // nuke colon, end quote
1969 UnEscapeLexed(llvmAsmtext+1);
1970 llvmAsmlval.StrVal = strdup(llvmAsmtext+1);
1971 return LABELSTR;
1972 }
1973 YY_BREAK
1974case 126:
1975/* rule 126 can match eol */
1976YY_RULE_SETUP
1977#line 345 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001978{ // Note that we cannot unescape a string constant here! The
1979 // string constant might contain a \00 which would not be
1980 // understood by the string stuff. It is valid to make a
1981 // [sbyte] c"Hello World\00" constant, for example.
1982 //
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001983 llvmAsmtext[strlen(llvmAsmtext)-1] = 0; // nuke end quote
1984 llvmAsmlval.StrVal = strdup(llvmAsmtext+1); // Nuke start quote
Reid Spencer68a24bd2005-08-27 18:50:39 +00001985 return STRINGCONSTANT;
1986 }
1987 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00001988case 127:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00001989YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001990#line 356 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
1991{ llvmAsmlval.UInt64Val = atoull(llvmAsmtext); return EUINT64VAL; }
1992 YY_BREAK
1993case 128:
1994YY_RULE_SETUP
1995#line 357 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00001996{
Anton Korobeynikov178a3522007-01-12 19:22:51 +00001997 uint64_t Val = atoull(llvmAsmtext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00001998 // +1: we have bigger negative range
1999 if (Val > (uint64_t)INT64_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00002000 GenerateError("Constant too large for signed 64 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002001 llvmAsmlval.SInt64Val = -Val;
2002 return ESINT64VAL;
2003 }
2004 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00002005case 129:
Owen Anderson1dc69692006-10-18 02:21:48 +00002006YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002007#line 365 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Owen Anderson1dc69692006-10-18 02:21:48 +00002008{
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002009 llvmAsmlval.UInt64Val = HexIntToVal(llvmAsmtext+3);
2010 return llvmAsmtext[0] == 's' ? ESINT64VAL : EUINT64VAL;
2011 }
2012 YY_BREAK
2013case 130:
2014YY_RULE_SETUP
2015#line 370 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
2016{
2017 uint64_t Val = atoull(llvmAsmtext+1);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002018 if ((unsigned)Val != Val)
Reid Spencer61c83e02006-08-18 08:43:06 +00002019 GenerateError("Invalid value number (too large)!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002020 llvmAsmlval.UIntVal = unsigned(Val);
2021 return UINTVAL;
2022 }
2023 YY_BREAK
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002024case 131:
Reid Spencer68a24bd2005-08-27 18:50:39 +00002025YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002026#line 377 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002027{
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002028 uint64_t Val = atoull(llvmAsmtext+2);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002029 // +1: we have bigger negative range
2030 if (Val > (uint64_t)INT32_MAX+1)
Reid Spencer61c83e02006-08-18 08:43:06 +00002031 GenerateError("Constant too large for signed 32 bits!");
Reid Spencer68a24bd2005-08-27 18:50:39 +00002032 llvmAsmlval.SIntVal = (int)-Val;
2033 return SINTVAL;
2034 }
2035 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00002036case 132:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002037YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002038#line 386 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
2039{ llvmAsmlval.FPVal = atof(llvmAsmtext); return FPVAL; }
2040 YY_BREAK
2041case 133:
2042YY_RULE_SETUP
2043#line 387 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
2044{ llvmAsmlval.FPVal = HexToFP(llvmAsmtext); return FPVAL; }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002045 YY_BREAK
2046case YY_STATE_EOF(INITIAL):
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002047#line 389 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002048{
2049 /* Make sure to free the internal buffers for flex when we are
2050 * done reading our input!
2051 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002052 llvmAsm_delete_buffer(YY_CURRENT_BUFFER);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002053 return EOF;
2054 }
2055 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00002056case 134:
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002057/* rule 134 can match eol */
Owen Anderson1dc69692006-10-18 02:21:48 +00002058YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002059#line 397 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
2060{ /* Ignore whitespace */ }
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002061 YY_BREAK
Reid Spencera54b7cb2007-01-12 07:05:14 +00002062case 135:
Reid Spencer6fd36ab2006-12-29 20:35:03 +00002063YY_RULE_SETUP
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002064#line 398 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
2065{ return llvmAsmtext[0]; }
2066 YY_BREAK
2067case 136:
2068YY_RULE_SETUP
2069#line 400 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002070YY_FATAL_ERROR( "flex scanner jammed" );
2071 YY_BREAK
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002072#line 2073 "Lexer.cpp"
Reid Spencer68a24bd2005-08-27 18:50:39 +00002073
2074 case YY_END_OF_BUFFER:
2075 {
2076 /* Amount of text matched not including the EOB char. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002077 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002078
2079 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002080 *yy_cp = (yy_hold_char);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002081 YY_RESTORE_YY_MORE_OFFSET
2082
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002083 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002084 {
2085 /* We're scanning a new file or input source. It's
2086 * possible that this happened because the user
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002087 * just pointed llvmAsmin at a new source and called
2088 * llvmAsmlex(). If so, then we have to assure
2089 * consistency between YY_CURRENT_BUFFER and our
Reid Spencer68a24bd2005-08-27 18:50:39 +00002090 * globals. Here is the right place to do so, because
2091 * this is the first action (other than possibly a
2092 * back-up) that will match for the new input source.
2093 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002094 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2095 YY_CURRENT_BUFFER_LVALUE->yy_input_file = llvmAsmin;
2096 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002097 }
2098
2099 /* Note that here we test for yy_c_buf_p "<=" to the position
2100 * of the first EOB in the buffer, since yy_c_buf_p will
2101 * already have been incremented past the NUL character
2102 * (since all states make transitions on EOB to the
2103 * end-of-buffer state). Contrast this with the test
2104 * in input().
2105 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002106 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002107 { /* This was really a NUL. */
2108 yy_state_type yy_next_state;
2109
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002110 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002111
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002112 yy_current_state = yy_get_previous_state( );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002113
2114 /* Okay, we're now positioned to make the NUL
2115 * transition. We couldn't have
2116 * yy_get_previous_state() go ahead and do it
2117 * for us because it doesn't know how to deal
2118 * with the possibility of jamming (and we don't
2119 * want to build jamming into it because then it
2120 * will run more slowly).
2121 */
2122
2123 yy_next_state = yy_try_NUL_trans( yy_current_state );
2124
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002125 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002126
2127 if ( yy_next_state )
2128 {
2129 /* Consume the NUL. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002130 yy_cp = ++(yy_c_buf_p);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002131 yy_current_state = yy_next_state;
2132 goto yy_match;
2133 }
2134
2135 else
2136 {
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002137 yy_cp = (yy_last_accepting_cpos);
2138 yy_current_state = (yy_last_accepting_state);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002139 goto yy_find_action;
2140 }
2141 }
2142
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002143 else switch ( yy_get_next_buffer( ) )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002144 {
2145 case EOB_ACT_END_OF_FILE:
2146 {
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002147 (yy_did_buffer_switch_on_eof) = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002148
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002149 if ( llvmAsmwrap( ) )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002150 {
2151 /* Note: because we've taken care in
2152 * yy_get_next_buffer() to have set up
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002153 * llvmAsmtext, we can now set up
Reid Spencer68a24bd2005-08-27 18:50:39 +00002154 * yy_c_buf_p so that if some total
2155 * hoser (like flex itself) wants to
2156 * call the scanner after we return the
2157 * YY_NULL, it'll still work - another
2158 * YY_NULL will get returned.
2159 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002160 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002161
2162 yy_act = YY_STATE_EOF(YY_START);
2163 goto do_action;
2164 }
2165
2166 else
2167 {
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002168 if ( ! (yy_did_buffer_switch_on_eof) )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002169 YY_NEW_FILE;
2170 }
2171 break;
2172 }
2173
2174 case EOB_ACT_CONTINUE_SCAN:
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002175 (yy_c_buf_p) =
2176 (yytext_ptr) + yy_amount_of_matched_text;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002177
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002178 yy_current_state = yy_get_previous_state( );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002179
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002180 yy_cp = (yy_c_buf_p);
2181 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002182 goto yy_match;
2183
2184 case EOB_ACT_LAST_MATCH:
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002185 (yy_c_buf_p) =
2186 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002187
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002188 yy_current_state = yy_get_previous_state( );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002189
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002190 yy_cp = (yy_c_buf_p);
2191 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002192 goto yy_find_action;
2193 }
2194 break;
2195 }
2196
2197 default:
2198 YY_FATAL_ERROR(
2199 "fatal flex scanner internal error--no action found" );
2200 } /* end of action switch */
2201 } /* end of scanning one token */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002202} /* end of llvmAsmlex */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002203
2204/* yy_get_next_buffer - try to read in a new buffer
2205 *
2206 * Returns a code representing an action:
2207 * EOB_ACT_LAST_MATCH -
2208 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2209 * EOB_ACT_END_OF_FILE - end of file
2210 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002211static int yy_get_next_buffer (void)
2212{
2213 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2214 register char *source = (yytext_ptr);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002215 register int number_to_move, i;
2216 int ret_val;
2217
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002218 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002219 YY_FATAL_ERROR(
2220 "fatal flex scanner internal error--end of buffer missed" );
2221
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002222 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002223 { /* Don't try to fill the buffer, so this is an EOF. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002224 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002225 {
2226 /* We matched a single character, the EOB, so
2227 * treat this as a final EOF.
2228 */
2229 return EOB_ACT_END_OF_FILE;
2230 }
2231
2232 else
2233 {
2234 /* We matched some text prior to the EOB, first
2235 * process it.
2236 */
2237 return EOB_ACT_LAST_MATCH;
2238 }
2239 }
2240
2241 /* Try to read more data. */
2242
2243 /* First move last chars to start of buffer. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002244 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002245
2246 for ( i = 0; i < number_to_move; ++i )
2247 *(dest++) = *(source++);
2248
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002249 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002250 /* don't do the read, it's not guaranteed to return an EOF,
2251 * just force an EOF
2252 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002253 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002254
2255 else
2256 {
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002257 int num_to_read =
2258 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002259
2260 while ( num_to_read <= 0 )
2261 { /* Not enough room in the buffer - grow it. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002262
2263 /* just a shorter name for the current buffer */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002264 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002265
2266 int yy_c_buf_p_offset =
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002267 (int) ((yy_c_buf_p) - b->yy_ch_buf);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002268
2269 if ( b->yy_is_our_buffer )
2270 {
2271 int new_size = b->yy_buf_size * 2;
2272
2273 if ( new_size <= 0 )
2274 b->yy_buf_size += b->yy_buf_size / 8;
2275 else
2276 b->yy_buf_size *= 2;
2277
2278 b->yy_ch_buf = (char *)
2279 /* Include room in for 2 EOB chars. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002280 llvmAsmrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002281 }
2282 else
2283 /* Can't grow it, we don't own it. */
2284 b->yy_ch_buf = 0;
2285
2286 if ( ! b->yy_ch_buf )
2287 YY_FATAL_ERROR(
2288 "fatal error - scanner input buffer overflow" );
2289
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002290 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002291
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002292 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
Reid Spencer68a24bd2005-08-27 18:50:39 +00002293 number_to_move - 1;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002294
Reid Spencer68a24bd2005-08-27 18:50:39 +00002295 }
2296
2297 if ( num_to_read > YY_READ_BUF_SIZE )
2298 num_to_read = YY_READ_BUF_SIZE;
2299
2300 /* Read in more data. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002301 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2302 (yy_n_chars), num_to_read );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002303
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002304 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002305 }
2306
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002307 if ( (yy_n_chars) == 0 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002308 {
2309 if ( number_to_move == YY_MORE_ADJ )
2310 {
2311 ret_val = EOB_ACT_END_OF_FILE;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002312 llvmAsmrestart(llvmAsmin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002313 }
2314
2315 else
2316 {
2317 ret_val = EOB_ACT_LAST_MATCH;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002318 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
Reid Spencer68a24bd2005-08-27 18:50:39 +00002319 YY_BUFFER_EOF_PENDING;
2320 }
2321 }
2322
2323 else
2324 ret_val = EOB_ACT_CONTINUE_SCAN;
2325
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002326 (yy_n_chars) += number_to_move;
2327 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2328 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002329
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002330 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002331
2332 return ret_val;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002333}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002334
2335/* yy_get_previous_state - get the state just before the EOB char was reached */
2336
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002337 static yy_state_type yy_get_previous_state (void)
2338{
Reid Spencer68a24bd2005-08-27 18:50:39 +00002339 register yy_state_type yy_current_state;
2340 register char *yy_cp;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002341
2342 yy_current_state = (yy_start);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002343
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002344 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002345 {
2346 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002347 if ( yy_accept[yy_current_state] )
2348 {
2349 (yy_last_accepting_state) = yy_current_state;
2350 (yy_last_accepting_cpos) = yy_cp;
2351 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002352 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2353 {
2354 yy_current_state = (int) yy_def[yy_current_state];
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002355 if ( yy_current_state >= 557 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002356 yy_c = yy_meta[(unsigned int) yy_c];
2357 }
2358 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002359 }
2360
2361 return yy_current_state;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002362}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002363
2364/* yy_try_NUL_trans - try to make a transition on the NUL character
2365 *
2366 * synopsis
2367 * next_state = yy_try_NUL_trans( current_state );
2368 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002369 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2370{
Reid Spencer68a24bd2005-08-27 18:50:39 +00002371 register int yy_is_jam;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002372 register char *yy_cp = (yy_c_buf_p);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002373
2374 register YY_CHAR yy_c = 1;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002375 if ( yy_accept[yy_current_state] )
2376 {
2377 (yy_last_accepting_state) = yy_current_state;
2378 (yy_last_accepting_cpos) = yy_cp;
2379 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002380 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2381 {
2382 yy_current_state = (int) yy_def[yy_current_state];
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002383 if ( yy_current_state >= 557 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002384 yy_c = yy_meta[(unsigned int) yy_c];
2385 }
2386 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002387 yy_is_jam = (yy_current_state == 556);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002388
2389 return yy_is_jam ? 0 : yy_current_state;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002390}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002391
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002392 static inline void yyunput (int c, register char * yy_bp )
2393{
2394 register char *yy_cp;
2395
2396 yy_cp = (yy_c_buf_p);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002397
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002398 /* undo effects of setting up llvmAsmtext */
2399 *yy_cp = (yy_hold_char);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002400
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002401 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002402 { /* need to shift things up to make room */
2403 /* +2 for EOB chars. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002404 register int number_to_move = (yy_n_chars) + 2;
2405 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2406 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002407 register char *source =
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002408 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002409
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002410 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002411 *--dest = *--source;
2412
2413 yy_cp += (int) (dest - source);
2414 yy_bp += (int) (dest - source);
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002415 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2416 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002417
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002418 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002419 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2420 }
2421
2422 *--yy_cp = (char) c;
2423
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002424 if ( c == '\n' ){
2425 --llvmAsmlineno;
2426 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002427
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002428 (yytext_ptr) = yy_bp;
2429 (yy_hold_char) = *yy_cp;
2430 (yy_c_buf_p) = yy_cp;
2431}
Owen Anderson1dc69692006-10-18 02:21:48 +00002432
Reid Spencer3da59db2006-11-27 01:05:10 +00002433#ifndef YY_NO_INPUT
Reid Spencer68a24bd2005-08-27 18:50:39 +00002434#ifdef __cplusplus
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002435 static int yyinput (void)
Reid Spencer68a24bd2005-08-27 18:50:39 +00002436#else
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002437 static int input (void)
Reid Spencer68a24bd2005-08-27 18:50:39 +00002438#endif
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002439
2440{
Reid Spencer68a24bd2005-08-27 18:50:39 +00002441 int c;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002442
2443 *(yy_c_buf_p) = (yy_hold_char);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002444
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002445 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002446 {
2447 /* yy_c_buf_p now points to the character we want to return.
2448 * If this occurs *before* the EOB characters, then it's a
2449 * valid NUL; if not, then we've hit the end of the buffer.
2450 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002451 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002452 /* This was really a NUL. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002453 *(yy_c_buf_p) = '\0';
Reid Spencer68a24bd2005-08-27 18:50:39 +00002454
2455 else
2456 { /* need more input */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002457 int offset = (yy_c_buf_p) - (yytext_ptr);
2458 ++(yy_c_buf_p);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002459
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002460 switch ( yy_get_next_buffer( ) )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002461 {
2462 case EOB_ACT_LAST_MATCH:
2463 /* This happens because yy_g_n_b()
2464 * sees that we've accumulated a
2465 * token and flags that we need to
2466 * try matching the token before
2467 * proceeding. But for input(),
2468 * there's no matching to consider.
2469 * So convert the EOB_ACT_LAST_MATCH
2470 * to EOB_ACT_END_OF_FILE.
2471 */
2472
2473 /* Reset buffer status. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002474 llvmAsmrestart(llvmAsmin );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002475
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002476 /*FALLTHROUGH*/
Reid Spencer68a24bd2005-08-27 18:50:39 +00002477
2478 case EOB_ACT_END_OF_FILE:
2479 {
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002480 if ( llvmAsmwrap( ) )
Reid Spencer61c83e02006-08-18 08:43:06 +00002481 return EOF;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002482
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002483 if ( ! (yy_did_buffer_switch_on_eof) )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002484 YY_NEW_FILE;
2485#ifdef __cplusplus
2486 return yyinput();
2487#else
2488 return input();
2489#endif
2490 }
2491
2492 case EOB_ACT_CONTINUE_SCAN:
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002493 (yy_c_buf_p) = (yytext_ptr) + offset;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002494 break;
2495 }
2496 }
2497 }
2498
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002499 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2500 *(yy_c_buf_p) = '\0'; /* preserve llvmAsmtext */
2501 (yy_hold_char) = *++(yy_c_buf_p);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002502
2503 if ( c == '\n' )
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002504
2505 llvmAsmlineno++;
2506;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002507
2508 return c;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002509}
2510#endif /* ifndef YY_NO_INPUT */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002511
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002512/** Immediately switch to a different input stream.
2513 * @param input_file A readable stream.
2514 *
2515 * @note This function does not reset the start condition to @c INITIAL .
2516 */
2517 void llvmAsmrestart (FILE * input_file )
2518{
2519
2520 if ( ! YY_CURRENT_BUFFER ){
2521 llvmAsmensure_buffer_stack ();
2522 YY_CURRENT_BUFFER_LVALUE =
2523 llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE );
Owen Anderson1dc69692006-10-18 02:21:48 +00002524 }
2525
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002526 llvmAsm_init_buffer(YY_CURRENT_BUFFER,input_file );
2527 llvmAsm_load_buffer_state( );
2528}
Owen Anderson1dc69692006-10-18 02:21:48 +00002529
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002530/** Switch to a different input buffer.
2531 * @param new_buffer The new input buffer.
2532 *
2533 */
2534 void llvmAsm_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2535{
2536
2537 /* TODO. We should be able to replace this entire function body
2538 * with
2539 * llvmAsmpop_buffer_state();
2540 * llvmAsmpush_buffer_state(new_buffer);
2541 */
2542 llvmAsmensure_buffer_stack ();
2543 if ( YY_CURRENT_BUFFER == new_buffer )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002544 return;
2545
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002546 if ( YY_CURRENT_BUFFER )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002547 {
2548 /* Flush out information for old buffer. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002549 *(yy_c_buf_p) = (yy_hold_char);
2550 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2551 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Reid Spencer68a24bd2005-08-27 18:50:39 +00002552 }
2553
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002554 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2555 llvmAsm_load_buffer_state( );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002556
2557 /* We don't actually know whether we did this switch during
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002558 * EOF (llvmAsmwrap()) processing, but the only time this flag
2559 * is looked at is after llvmAsmwrap() is called, so it's safe
Reid Spencer68a24bd2005-08-27 18:50:39 +00002560 * to go ahead and always set it.
2561 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002562 (yy_did_buffer_switch_on_eof) = 1;
2563}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002564
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002565static void llvmAsm_load_buffer_state (void)
2566{
2567 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2568 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2569 llvmAsmin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2570 (yy_hold_char) = *(yy_c_buf_p);
2571}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002572
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002573/** Allocate and initialize an input buffer state.
2574 * @param file A readable stream.
2575 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2576 *
2577 * @return the allocated buffer state.
2578 */
2579 YY_BUFFER_STATE llvmAsm_create_buffer (FILE * file, int size )
2580{
Reid Spencer68a24bd2005-08-27 18:50:39 +00002581 YY_BUFFER_STATE b;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002582
2583 b = (YY_BUFFER_STATE) llvmAsmalloc(sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002584 if ( ! b )
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002585 YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002586
2587 b->yy_buf_size = size;
2588
2589 /* yy_ch_buf has to be 2 characters longer than the size given because
2590 * we need to put in 2 end-of-buffer characters.
2591 */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002592 b->yy_ch_buf = (char *) llvmAsmalloc(b->yy_buf_size + 2 );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002593 if ( ! b->yy_ch_buf )
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002594 YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_create_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002595
2596 b->yy_is_our_buffer = 1;
2597
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002598 llvmAsm_init_buffer(b,file );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002599
2600 return b;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002601}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002602
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002603/** Destroy the buffer.
2604 * @param b a buffer created with llvmAsm_create_buffer()
2605 *
2606 */
2607 void llvmAsm_delete_buffer (YY_BUFFER_STATE b )
2608{
2609
Reid Spencer68a24bd2005-08-27 18:50:39 +00002610 if ( ! b )
2611 return;
2612
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002613 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2614 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002615
2616 if ( b->yy_is_our_buffer )
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002617 llvmAsmfree((void *) b->yy_ch_buf );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002618
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002619 llvmAsmfree((void *) b );
2620}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002621
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002622/* Initializes or reinitializes a buffer.
2623 * This function is sometimes called more than once on the same buffer,
2624 * such as during a llvmAsmrestart() or at EOF.
2625 */
2626 static void llvmAsm_init_buffer (YY_BUFFER_STATE b, FILE * file )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002627
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002628{
2629 int oerrno = errno;
2630
2631 llvmAsm_flush_buffer(b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002632
2633 b->yy_input_file = file;
2634 b->yy_fill_buffer = 1;
2635
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002636 /* If b is the current buffer, then llvmAsm_init_buffer was _probably_
2637 * called from llvmAsmrestart() or through yy_get_next_buffer.
2638 * In that case, we don't want to reset the lineno or column.
2639 */
2640 if (b != YY_CURRENT_BUFFER){
2641 b->yy_bs_lineno = 1;
2642 b->yy_bs_column = 0;
2643 }
Reid Spencer68a24bd2005-08-27 18:50:39 +00002644
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002645 b->yy_is_interactive = 0;
2646
2647 errno = oerrno;
2648}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002649
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002650/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2651 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2652 *
2653 */
2654 void llvmAsm_flush_buffer (YY_BUFFER_STATE b )
2655{
2656 if ( ! b )
Reid Spencer68a24bd2005-08-27 18:50:39 +00002657 return;
2658
2659 b->yy_n_chars = 0;
2660
2661 /* We always need two end-of-buffer characters. The first causes
2662 * a transition to the end-of-buffer state. The second causes
2663 * a jam in that state.
2664 */
2665 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2666 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2667
2668 b->yy_buf_pos = &b->yy_ch_buf[0];
2669
2670 b->yy_at_bol = 1;
2671 b->yy_buffer_status = YY_BUFFER_NEW;
2672
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002673 if ( b == YY_CURRENT_BUFFER )
2674 llvmAsm_load_buffer_state( );
2675}
2676
2677/** Pushes the new state onto the stack. The new state becomes
2678 * the current state. This function will allocate the stack
2679 * if necessary.
2680 * @param new_buffer The new state.
2681 *
2682 */
2683void llvmAsmpush_buffer_state (YY_BUFFER_STATE new_buffer )
2684{
2685 if (new_buffer == NULL)
2686 return;
2687
2688 llvmAsmensure_buffer_stack();
2689
2690 /* This block is copied from llvmAsm_switch_to_buffer. */
2691 if ( YY_CURRENT_BUFFER )
2692 {
2693 /* Flush out information for old buffer. */
2694 *(yy_c_buf_p) = (yy_hold_char);
2695 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2696 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2697 }
2698
2699 /* Only push if top exists. Otherwise, replace top. */
2700 if (YY_CURRENT_BUFFER)
2701 (yy_buffer_stack_top)++;
2702 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2703
2704 /* copied from llvmAsm_switch_to_buffer. */
2705 llvmAsm_load_buffer_state( );
2706 (yy_did_buffer_switch_on_eof) = 1;
2707}
2708
2709/** Removes and deletes the top of the stack, if present.
2710 * The next element becomes the new top.
2711 *
2712 */
2713void llvmAsmpop_buffer_state (void)
2714{
2715 if (!YY_CURRENT_BUFFER)
2716 return;
2717
2718 llvmAsm_delete_buffer(YY_CURRENT_BUFFER );
2719 YY_CURRENT_BUFFER_LVALUE = NULL;
2720 if ((yy_buffer_stack_top) > 0)
2721 --(yy_buffer_stack_top);
2722
2723 if (YY_CURRENT_BUFFER) {
2724 llvmAsm_load_buffer_state( );
2725 (yy_did_buffer_switch_on_eof) = 1;
2726 }
2727}
2728
2729/* Allocates the stack if it does not exist.
2730 * Guarantees space for at least one push.
2731 */
2732static void llvmAsmensure_buffer_stack (void)
2733{
2734 int num_to_alloc;
2735
2736 if (!(yy_buffer_stack)) {
2737
2738 /* First allocation is just for 2 elements, since we don't know if this
2739 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2740 * immediate realloc on the next call.
2741 */
2742 num_to_alloc = 1;
2743 (yy_buffer_stack) = (struct yy_buffer_state**)llvmAsmalloc
2744 (num_to_alloc * sizeof(struct yy_buffer_state*)
2745 );
2746
2747 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2748
2749 (yy_buffer_stack_max) = num_to_alloc;
2750 (yy_buffer_stack_top) = 0;
2751 return;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002752 }
2753
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002754 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
Reid Spencer68a24bd2005-08-27 18:50:39 +00002755
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002756 /* Increase the buffer to prepare for a possible push. */
2757 int grow_size = 8 /* arbitrary grow size */;
2758
2759 num_to_alloc = (yy_buffer_stack_max) + grow_size;
2760 (yy_buffer_stack) = (struct yy_buffer_state**)llvmAsmrealloc
2761 ((yy_buffer_stack),
2762 num_to_alloc * sizeof(struct yy_buffer_state*)
2763 );
2764
2765 /* zero only the new slots.*/
2766 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2767 (yy_buffer_stack_max) = num_to_alloc;
2768 }
2769}
2770
2771/** Setup the input buffer state to scan directly from a user-specified character buffer.
2772 * @param base the character buffer
2773 * @param size the size in bytes of the character buffer
2774 *
2775 * @return the newly allocated buffer state object.
2776 */
2777YY_BUFFER_STATE llvmAsm_scan_buffer (char * base, yy_size_t size )
2778{
Reid Spencer68a24bd2005-08-27 18:50:39 +00002779 YY_BUFFER_STATE b;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002780
Reid Spencer68a24bd2005-08-27 18:50:39 +00002781 if ( size < 2 ||
2782 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2783 base[size-1] != YY_END_OF_BUFFER_CHAR )
2784 /* They forgot to leave room for the EOB's. */
2785 return 0;
2786
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002787 b = (YY_BUFFER_STATE) llvmAsmalloc(sizeof( struct yy_buffer_state ) );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002788 if ( ! b )
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002789 YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_scan_buffer()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002790
2791 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2792 b->yy_buf_pos = b->yy_ch_buf = base;
2793 b->yy_is_our_buffer = 0;
2794 b->yy_input_file = 0;
2795 b->yy_n_chars = b->yy_buf_size;
2796 b->yy_is_interactive = 0;
2797 b->yy_at_bol = 1;
2798 b->yy_fill_buffer = 0;
2799 b->yy_buffer_status = YY_BUFFER_NEW;
2800
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002801 llvmAsm_switch_to_buffer(b );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002802
2803 return b;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002804}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002805
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002806/** Setup the input buffer state to scan a string. The next call to llvmAsmlex() will
2807 * scan from a @e copy of @a str.
2808 * @param str a NUL-terminated string to scan
2809 *
2810 * @return the newly allocated buffer state object.
2811 * @note If you want to scan bytes that may contain NUL values, then use
2812 * llvmAsm_scan_bytes() instead.
2813 */
2814YY_BUFFER_STATE llvmAsm_scan_string (yyconst char * yystr )
2815{
2816
2817 return llvmAsm_scan_bytes(yystr,strlen(yystr) );
2818}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002819
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002820/** Setup the input buffer state to scan the given bytes. The next call to llvmAsmlex() will
2821 * scan from a @e copy of @a bytes.
2822 * @param bytes the byte buffer to scan
2823 * @param len the number of bytes in the buffer pointed to by @a bytes.
2824 *
2825 * @return the newly allocated buffer state object.
2826 */
2827YY_BUFFER_STATE llvmAsm_scan_bytes (yyconst char * yybytes, int _yybytes_len )
2828{
Reid Spencer68a24bd2005-08-27 18:50:39 +00002829 YY_BUFFER_STATE b;
2830 char *buf;
2831 yy_size_t n;
2832 int i;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002833
Reid Spencer68a24bd2005-08-27 18:50:39 +00002834 /* Get memory for full buffer, including space for trailing EOB's. */
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002835 n = _yybytes_len + 2;
2836 buf = (char *) llvmAsmalloc(n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002837 if ( ! buf )
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002838 YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002839
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002840 for ( i = 0; i < _yybytes_len; ++i )
2841 buf[i] = yybytes[i];
Reid Spencer68a24bd2005-08-27 18:50:39 +00002842
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002843 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
Reid Spencer68a24bd2005-08-27 18:50:39 +00002844
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002845 b = llvmAsm_scan_buffer(buf,n );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002846 if ( ! b )
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002847 YY_FATAL_ERROR( "bad buffer in llvmAsm_scan_bytes()" );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002848
2849 /* It's okay to grow etc. this buffer, and we should throw it
2850 * away when we're done.
2851 */
2852 b->yy_is_our_buffer = 1;
2853
2854 return b;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002855}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002856
2857#ifndef YY_EXIT_FAILURE
2858#define YY_EXIT_FAILURE 2
2859#endif
2860
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002861static void yy_fatal_error (yyconst char* msg )
2862{
2863 (void) fprintf( stderr, "%s\n", msg );
Reid Spencer68a24bd2005-08-27 18:50:39 +00002864 exit( YY_EXIT_FAILURE );
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002865}
Reid Spencer68a24bd2005-08-27 18:50:39 +00002866
2867/* Redefine yyless() so it works in section 3 code. */
2868
2869#undef yyless
2870#define yyless(n) \
2871 do \
2872 { \
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002873 /* Undo effects of setting up llvmAsmtext. */ \
2874 int yyless_macro_arg = (n); \
2875 YY_LESS_LINENO(yyless_macro_arg);\
2876 llvmAsmtext[llvmAsmleng] = (yy_hold_char); \
2877 (yy_c_buf_p) = llvmAsmtext + yyless_macro_arg; \
2878 (yy_hold_char) = *(yy_c_buf_p); \
2879 *(yy_c_buf_p) = '\0'; \
2880 llvmAsmleng = yyless_macro_arg; \
Reid Spencer68a24bd2005-08-27 18:50:39 +00002881 } \
2882 while ( 0 )
2883
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002884/* Accessor methods (get/set functions) to struct members. */
Reid Spencer68a24bd2005-08-27 18:50:39 +00002885
Anton Korobeynikov178a3522007-01-12 19:22:51 +00002886/** Get the current line number.
2887 *
2888 */
2889int llvmAsmget_lineno (void)
2890{
2891
2892 return llvmAsmlineno;
2893}
2894
2895/** Get the input stream.
2896 *
2897 */
2898FILE *llvmAsmget_in (void)
2899{
2900 return llvmAsmin;
2901}
2902
2903/** Get the output stream.
2904 *
2905 */
2906FILE *llvmAsmget_out (void)
2907{
2908 return llvmAsmout;
2909}
2910
2911/** Get the length of the current token.
2912 *
2913 */
2914int llvmAsmget_leng (void)
2915{
2916 return llvmAsmleng;
2917}
2918
2919/** Get the current token.
2920 *
2921 */
2922
2923char *llvmAsmget_text (void)
2924{
2925 return llvmAsmtext;
2926}
2927
2928/** Set the current line number.
2929 * @param line_number
2930 *
2931 */
2932void llvmAsmset_lineno (int line_number )
2933{
2934
2935 llvmAsmlineno = line_number;
2936}
2937
2938/** Set the input stream. This does not discard the current
2939 * input buffer.
2940 * @param in_str A readable stream.
2941 *
2942 * @see llvmAsm_switch_to_buffer
2943 */
2944void llvmAsmset_in (FILE * in_str )
2945{
2946 llvmAsmin = in_str ;
2947}
2948
2949void llvmAsmset_out (FILE * out_str )
2950{
2951 llvmAsmout = out_str ;
2952}
2953
2954int llvmAsmget_debug (void)
2955{
2956 return llvmAsm_flex_debug;
2957}
2958
2959void llvmAsmset_debug (int bdebug )
2960{
2961 llvmAsm_flex_debug = bdebug ;
2962}
2963
2964static int yy_init_globals (void)
2965{
2966 /* Initialization is the same as for the non-reentrant scanner.
2967 * This function is called from llvmAsmlex_destroy(), so don't allocate here.
2968 */
2969
2970 /* We do not touch llvmAsmlineno unless the option is enabled. */
2971 llvmAsmlineno = 1;
2972
2973 (yy_buffer_stack) = 0;
2974 (yy_buffer_stack_top) = 0;
2975 (yy_buffer_stack_max) = 0;
2976 (yy_c_buf_p) = (char *) 0;
2977 (yy_init) = 0;
2978 (yy_start) = 0;
2979
2980/* Defined in main.c */
2981#ifdef YY_STDINIT
2982 llvmAsmin = stdin;
2983 llvmAsmout = stdout;
2984#else
2985 llvmAsmin = (FILE *) 0;
2986 llvmAsmout = (FILE *) 0;
2987#endif
2988
2989 /* For future reference: Set errno on error, since we are called by
2990 * llvmAsmlex_init()
2991 */
2992 return 0;
2993}
2994
2995/* llvmAsmlex_destroy is for both reentrant and non-reentrant scanners. */
2996int llvmAsmlex_destroy (void)
2997{
2998
2999 /* Pop the buffer stack, destroying each element. */
3000 while(YY_CURRENT_BUFFER){
3001 llvmAsm_delete_buffer(YY_CURRENT_BUFFER );
3002 YY_CURRENT_BUFFER_LVALUE = NULL;
3003 llvmAsmpop_buffer_state();
3004 }
3005
3006 /* Destroy the stack itself. */
3007 llvmAsmfree((yy_buffer_stack) );
3008 (yy_buffer_stack) = NULL;
3009
3010 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3011 * llvmAsmlex() is called, initialization will occur. */
3012 yy_init_globals( );
3013
3014 return 0;
3015}
3016
3017/*
3018 * Internal utility routines.
3019 */
Reid Spencer68a24bd2005-08-27 18:50:39 +00003020
3021#ifndef yytext_ptr
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003022static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3023{
Reid Spencer68a24bd2005-08-27 18:50:39 +00003024 register int i;
3025 for ( i = 0; i < n; ++i )
3026 s1[i] = s2[i];
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003027}
Reid Spencer68a24bd2005-08-27 18:50:39 +00003028#endif
3029
3030#ifdef YY_NEED_STRLEN
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003031static int yy_flex_strlen (yyconst char * s )
3032{
Reid Spencer68a24bd2005-08-27 18:50:39 +00003033 register int n;
3034 for ( n = 0; s[n]; ++n )
3035 ;
3036
3037 return n;
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003038}
Reid Spencer68a24bd2005-08-27 18:50:39 +00003039#endif
3040
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003041void *llvmAsmalloc (yy_size_t size )
3042{
Owen Anderson1dc69692006-10-18 02:21:48 +00003043 return (void *) malloc( size );
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003044}
Owen Anderson1dc69692006-10-18 02:21:48 +00003045
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003046void *llvmAsmrealloc (void * ptr, yy_size_t size )
3047{
Reid Spencer68a24bd2005-08-27 18:50:39 +00003048 /* The cast to (char *) in the following accommodates both
3049 * implementations that use char* generic pointers, and those
3050 * that use void* generic pointers. It works with the latter
3051 * because both ANSI C and C++ allow castless assignment from
3052 * any pointer type to void*, and deal with argument conversions
3053 * as though doing an assignment.
3054 */
3055 return (void *) realloc( (char *) ptr, size );
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003056}
Reid Spencer68a24bd2005-08-27 18:50:39 +00003057
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003058void llvmAsmfree (void * ptr )
3059{
3060 free( (char *) ptr ); /* see llvmAsmrealloc() for (char *) cast */
3061}
Reid Spencer68a24bd2005-08-27 18:50:39 +00003062
Anton Korobeynikov178a3522007-01-12 19:22:51 +00003063#define YYTABLES_NAME "yytables"
3064
3065#line 400 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
3066
3067
Chris Lattner2fecc0f2006-02-15 07:02:59 +00003068