| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1 | #line 2 "Lexer.cpp" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 3 | #line 4 "Lexer.cpp" | 
|  | 4 |  | 
|  | 5 | #define  YY_INT_ALIGNED short int | 
|  | 6 |  | 
| Chris Lattner | 680aab6 | 2006-08-18 17:34:45 +0000 | [diff] [blame] | 7 | /* A lexical scanner generated by flex */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 8 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 9 | #define FLEX_SCANNER | 
|  | 10 | #define YY_FLEX_MAJOR_VERSION 2 | 
|  | 11 | #define YY_FLEX_MINOR_VERSION 5 | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 12 | #define YY_FLEX_SUBMINOR_VERSION 33 | 
|  | 13 | #if YY_FLEX_SUBMINOR_VERSION > 0 | 
|  | 14 | #define FLEX_BETA | 
|  | 15 | #endif | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 16 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 17 | /* First, we deal with  platform-specific or compiler-specific issues. */ | 
|  | 18 |  | 
|  | 19 | /* begin standard C headers. */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 20 | #include <stdio.h> | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 21 | #include <string.h> | 
|  | 22 | #include <errno.h> | 
|  | 23 | #include <stdlib.h> | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 24 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 25 | /* end standard C headers. */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 26 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 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 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 41 | #endif | 
|  | 42 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 43 | #include <inttypes.h> | 
|  | 44 | typedef int8_t flex_int8_t; | 
|  | 45 | typedef uint8_t flex_uint8_t; | 
|  | 46 | typedef int16_t flex_int16_t; | 
|  | 47 | typedef uint16_t flex_uint16_t; | 
|  | 48 | typedef int32_t flex_int32_t; | 
|  | 49 | typedef uint32_t flex_uint32_t; | 
|  | 50 | #else | 
|  | 51 | typedef signed char flex_int8_t; | 
|  | 52 | typedef short int flex_int16_t; | 
|  | 53 | typedef int flex_int32_t; | 
|  | 54 | typedef unsigned char flex_uint8_t; | 
|  | 55 | typedef unsigned short int flex_uint16_t; | 
|  | 56 | typedef 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 */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 89 |  | 
|  | 90 | #ifdef __cplusplus | 
|  | 91 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 92 | /* The "const" storage-class-modifier is valid. */ | 
|  | 93 | #define YY_USE_CONST | 
|  | 94 |  | 
|  | 95 | #else	/* ! __cplusplus */ | 
|  | 96 |  | 
|  | 97 | #if __STDC__ | 
|  | 98 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 99 | #define YY_USE_CONST | 
|  | 100 |  | 
|  | 101 | #endif	/* __STDC__ */ | 
|  | 102 | #endif	/* ! __cplusplus */ | 
|  | 103 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 104 | #ifdef YY_USE_CONST | 
|  | 105 | #define yyconst const | 
|  | 106 | #else | 
|  | 107 | #define yyconst | 
|  | 108 | #endif | 
|  | 109 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 110 | /* 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 Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 124 | #define BEGIN (yy_start) = 1 + 2 * | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 125 |  | 
|  | 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 Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 130 | #define YY_START (((yy_start) - 1) / 2) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 131 | #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 Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 137 | #define YY_NEW_FILE llvmAsmrestart(llvmAsmin  ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 138 |  | 
|  | 139 | #define YY_END_OF_BUFFER_CHAR 0 | 
|  | 140 |  | 
|  | 141 | /* Size of default input buffer. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 142 | #ifndef YY_BUF_SIZE | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 143 | #define YY_BUF_SIZE (16384*64) | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 144 | #endif | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 145 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 146 | /* 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 Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 152 | typedef struct yy_buffer_state *YY_BUFFER_STATE; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 153 | #endif | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 154 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 155 | extern int llvmAsmleng; | 
|  | 156 |  | 
|  | 157 | extern FILE *llvmAsmin, *llvmAsmout; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 158 |  | 
|  | 159 | #define EOB_ACT_CONTINUE_SCAN 0 | 
|  | 160 | #define EOB_ACT_END_OF_FILE 1 | 
|  | 161 | #define EOB_ACT_LAST_MATCH 2 | 
|  | 162 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 163 | /* 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 Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 179 | #define yyless(n) \ | 
|  | 180 | do \ | 
|  | 181 | { \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 182 | /* 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 Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 186 | YY_RESTORE_YY_MORE_OFFSET \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 187 | (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ | 
|  | 188 | YY_DO_BEFORE_ACTION; /* set up llvmAsmtext again */ \ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 189 | } \ | 
|  | 190 | while ( 0 ) | 
|  | 191 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 192 | #define unput(c) yyunput( c, (yytext_ptr)  ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 193 |  | 
|  | 194 | /* 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 Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 198 |  | 
|  | 199 | #ifndef YY_TYPEDEF_YY_SIZE_T | 
|  | 200 | #define YY_TYPEDEF_YY_SIZE_T | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 201 | typedef unsigned int yy_size_t; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 202 | #endif | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 203 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 204 | #ifndef YY_STRUCT_YY_BUFFER_STATE | 
|  | 205 | #define YY_STRUCT_YY_BUFFER_STATE | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 206 | struct 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 Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 242 | int yy_bs_lineno; /**< The line count. */ | 
|  | 243 | int yy_bs_column; /**< The column count. */ | 
|  | 244 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 245 | /* 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 Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 251 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 252 | #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 Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 261 | * (via llvmAsmrestart()), so that the user can continue scanning by | 
|  | 262 | * just pointing llvmAsmin at a new input file. | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 263 | */ | 
|  | 264 | #define YY_BUFFER_EOF_PENDING 2 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 265 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 266 | }; | 
|  | 267 | #endif /* !YY_STRUCT_YY_BUFFER_STATE */ | 
|  | 268 |  | 
|  | 269 | /* Stack of input buffers. */ | 
|  | 270 | static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ | 
|  | 271 | static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ | 
|  | 272 | static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 273 |  | 
|  | 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 Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 277 | * | 
|  | 278 | * Returns the top of the stack, or NULL. | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 279 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 280 | #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ | 
|  | 281 | ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ | 
|  | 282 | : NULL) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 283 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 284 | /* 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 Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 288 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 289 | /* yy_hold_char holds the character lost when llvmAsmtext is formed. */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 290 | static char yy_hold_char; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 291 | static int yy_n_chars;		/* number of characters read into yy_ch_buf */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 292 | int llvmAsmleng; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 293 |  | 
|  | 294 | /* Points to current character in buffer. */ | 
|  | 295 | static char *yy_c_buf_p = (char *) 0; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 296 | static int yy_init = 0;		/* whether we need to initialize */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 297 | static int yy_start = 0;	/* start state number */ | 
|  | 298 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 299 | /* 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 Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 301 | */ | 
|  | 302 | static int yy_did_buffer_switch_on_eof; | 
|  | 303 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 304 | void llvmAsmrestart (FILE *input_file  ); | 
|  | 305 | void llvmAsm_switch_to_buffer (YY_BUFFER_STATE new_buffer  ); | 
|  | 306 | YY_BUFFER_STATE llvmAsm_create_buffer (FILE *file,int size  ); | 
|  | 307 | void llvmAsm_delete_buffer (YY_BUFFER_STATE b  ); | 
|  | 308 | void llvmAsm_flush_buffer (YY_BUFFER_STATE b  ); | 
|  | 309 | void llvmAsmpush_buffer_state (YY_BUFFER_STATE new_buffer  ); | 
|  | 310 | void llvmAsmpop_buffer_state (void ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 311 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 312 | static void llvmAsmensure_buffer_stack (void ); | 
|  | 313 | static void llvmAsm_load_buffer_state (void ); | 
|  | 314 | static void llvmAsm_init_buffer (YY_BUFFER_STATE b,FILE *file  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 315 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 316 | #define YY_FLUSH_BUFFER llvmAsm_flush_buffer(YY_CURRENT_BUFFER ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 317 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 318 | YY_BUFFER_STATE llvmAsm_scan_buffer (char *base,yy_size_t size  ); | 
|  | 319 | YY_BUFFER_STATE llvmAsm_scan_string (yyconst char *yy_str  ); | 
|  | 320 | YY_BUFFER_STATE llvmAsm_scan_bytes (yyconst char *bytes,int len  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 321 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 322 | void *llvmAsmalloc (yy_size_t  ); | 
|  | 323 | void *llvmAsmrealloc (void *,yy_size_t  ); | 
|  | 324 | void llvmAsmfree (void *  ); | 
|  | 325 |  | 
|  | 326 | #define yy_new_buffer llvmAsm_create_buffer | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 327 |  | 
|  | 328 | #define yy_set_interactive(is_interactive) \ | 
|  | 329 | { \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 330 | 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 Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 336 | } | 
|  | 337 |  | 
|  | 338 | #define yy_set_bol(at_bol) \ | 
|  | 339 | { \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 340 | 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 Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 346 | } | 
|  | 347 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 348 | #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 349 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 350 | /* Begin user sect3 */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 351 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 352 | #define llvmAsmwrap(n) 1 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 353 | #define YY_SKIP_YYWRAP | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 354 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 355 | typedef unsigned char YY_CHAR; | 
|  | 356 |  | 
|  | 357 | FILE *llvmAsmin = (FILE *) 0, *llvmAsmout = (FILE *) 0; | 
|  | 358 |  | 
|  | 359 | typedef int yy_state_type; | 
|  | 360 |  | 
|  | 361 | extern int llvmAsmlineno; | 
|  | 362 |  | 
|  | 363 | int llvmAsmlineno = 1; | 
|  | 364 |  | 
|  | 365 | extern char *llvmAsmtext; | 
|  | 366 | #define yytext_ptr llvmAsmtext | 
|  | 367 |  | 
|  | 368 | static yy_state_type yy_get_previous_state (void ); | 
|  | 369 | static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ); | 
|  | 370 | static int yy_get_next_buffer (void ); | 
|  | 371 | static void yy_fatal_error (yyconst char msg[]  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 372 |  | 
|  | 373 | /* Done after the current pattern has been matched and before the | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 374 | * corresponding action - sets up llvmAsmtext. | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 375 | */ | 
|  | 376 | #define YY_DO_BEFORE_ACTION \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 377 | (yytext_ptr) = yy_bp; \ | 
|  | 378 | llvmAsmleng = (size_t) (yy_cp - yy_bp); \ | 
|  | 379 | (yy_hold_char) = *yy_cp; \ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 380 | *yy_cp = '\0'; \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 381 | (yy_c_buf_p) = yy_cp; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 382 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 383 | #define YY_NUM_RULES 113 | 
|  | 384 | #define YY_END_OF_BUFFER 114 | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 385 | /* This struct is not used in this scanner, | 
|  | 386 | but its presence is necessary. */ | 
|  | 387 | struct yy_trans_info | 
|  | 388 | { | 
|  | 389 | flex_int32_t yy_verify; | 
|  | 390 | flex_int32_t yy_nxt; | 
|  | 391 | }; | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 392 | static yyconst flex_int16_t yy_accept[501] = | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 393 | {   0, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 394 | 0,    0,  114,  112,  111,  111,  112,  112,  112,  112, | 
|  | 395 | 112,  112,  104,  104,    1,  112,  112,  112,  112,  112, | 
|  | 396 | 112,  112,  112,  112,  112,  112,  112,  112,  112,  112, | 
|  | 397 | 112,  112,  112,  112,  112,  112,    0,  103,    0,  101, | 
|  | 398 | 100,  100,  107,    0,  105,    0,  109,  104,    0,    1, | 
|  | 399 | 0,    0,    0,    0,    0,    0,    0,    0,   86,    0, | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 400 | 40,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
|  | 401 | 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 402 | 0,    0,    0,    0,    0,   68,    0,    0,    0,    0, | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 403 | 0,    0,    0,    0,    0,    0,    0,    0,   23,    0, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 404 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 405 | 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 406 | 0,    0,  103,  100,  100,  109,   20,  109,    0,  110, | 
|  | 407 | 62,    0,    0,   67,    0,   38,    0,   33,    0,    0, | 
|  | 408 | 0,   41,    0,    0,    0,    0,    0,   65,    0,    0, | 
|  | 409 | 3,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
|  | 410 | 0,   53,    0,    0,    0,    0,    0,    0,    0,    0, | 
|  | 411 | 64,   25,    0,    0,   76,    0,   66,   85,    0,    0, | 
|  | 412 | 0,    0,    0,   80,    0,   81,    0,    0,    0,   63, | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 413 | 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 414 | 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 415 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 416 | 0,   69,    0,  102,  109,    0,    0,    0,  109,    0, | 
|  | 417 | 0,    0,    0,   48,   77,   78,    0,    0,    0,    0, | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 418 | 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 419 | 0,   93,    0,    0,    0,    0,    0,    0,    0,    0, | 
|  | 420 | 0,   94,   55,    0,    0,   22,    0,    0,  106,    0, | 
|  | 421 | 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
|  | 422 | 0,   26,    0,    0,    4,   60,    0,   54,    0,    0, | 
|  | 423 | 0,    0,    0,    0,    0,    0,    0,   47,    0,   11, | 
|  | 424 | 0,    0,  109,   35,    0,    0,    2,    0,    0,    0, | 
|  | 425 | 0,    0,    0,    0,    0,    0,    0,    0,    0,    5, | 
|  | 426 |  | 
|  | 427 | 0,   57,    0,    0,    0,    0,    0,    0,   59,    0, | 
|  | 428 | 0,    0,    0,    0,    0,   49,    0,    0,   71,   75, | 
|  | 429 | 73,   74,   72,   70,   51,    0,    0,   95,    0,    0, | 
|  | 430 | 0,   50,   56,   21,    0,    0,    0,    0,    0,   83, | 
|  | 431 | 0,    0,    0,    0,    0,   92,    0,   44,    0,    0, | 
|  | 432 | 0,    0,    0,    0,   58,   30,   24,    0,    0,   43, | 
|  | 433 | 0,    7,    0,    0,    0,   88,    0,   32,   91,   37, | 
|  | 434 | 61,    0,    0,   79,    0,    0,   87,   27,   28,    0, | 
|  | 435 | 0,   89,   52,   84,   82,    0,    0,    0,    0,    0, | 
|  | 436 | 0,   42,    6,   29,    0,    0,    0,    0,    0,    0, | 
|  | 437 |  | 
|  | 438 | 0,    0,    0,    0,    0,   36,    0,    0,    0,    0, | 
|  | 439 | 0,    0,    0,    0,    0,    8,    0,    0,    0,   17, | 
|  | 440 | 0,    0,    0,    0,    9,   10,    0,    0,    0,    0, | 
|  | 441 | 0,   34,    0,    0,    0,   12,   14,   13,    0,    0, | 
|  | 442 | 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 
|  | 443 | 0,    0,    0,    0,    0,    0,    0,    0,   39,    0, | 
|  | 444 | 0,    0,    0,    0,   15,    0,    0,    0,    0,   31, | 
|  | 445 | 0,    0,   90,    0,    0,    0,    0,    0,    0,    0, | 
|  | 446 | 0,    0,    0,    0,    0,    0,   96,    0,   98,   99, | 
|  | 447 | 16,    0,   45,    0,   97,   18,   46,    0,   19,    0 | 
|  | 448 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 449 | } ; | 
|  | 450 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 451 | static yyconst flex_int32_t yy_ec[256] = | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 452 | {   0, | 
|  | 453 | 1,    1,    1,    1,    1,    1,    1,    1,    2,    3, | 
|  | 454 | 1,    1,    2,    1,    1,    1,    1,    1,    1,    1, | 
|  | 455 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 456 | 1,    2,    1,    4,    1,    5,    6,    1,    1,    1, | 
|  | 457 | 1,    1,    7,    1,    8,    9,    1,   10,   11,   11, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 458 | 11,   11,   11,   12,   11,   13,   11,   14,   15,    1, | 
|  | 459 | 1,    1,    1,    1,   16,   16,   16,   16,   17,   16, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 460 | 5,    5,    5,    5,    5,    5,    5,    5,    5,    5, | 
|  | 461 | 5,    5,    5,    5,    5,    5,    5,    5,    5,    5, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 462 | 1,    1,    1,    1,   18,    1,   19,   20,   21,   22, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 463 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 464 | 23,   24,   25,   26,   27,    5,   28,   29,   30,   31, | 
|  | 465 | 32,   33,   34,   35,   36,   37,   38,   39,   40,   41, | 
|  | 466 | 42,   43,    1,    1,    1,    1,    1,    1,    1,    1, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 467 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 468 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 469 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 470 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 471 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 472 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 473 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 474 |  | 
|  | 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 | 1,    1,    1,    1,    1 | 
|  | 481 | } ; | 
|  | 482 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 483 | static yyconst flex_int32_t yy_meta[44] = | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 484 | {   0, | 
|  | 485 | 1,    1,    2,    1,    3,    1,    1,    3,    3,    3, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 486 | 3,    3,    3,    4,    1,    3,    3,    3,    3,    3, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 487 | 3,    3,    3,    3,    3,    3,    3,    3,    3,    3, | 
|  | 488 | 3,    3,    3,    3,    3,    3,    3,    3,    3,    3, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 489 | 3,    3,    3 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 490 | } ; | 
|  | 491 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 492 | static yyconst flex_int16_t yy_base[506] = | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 493 | {   0, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 494 | 0,    0, 1090, 1091, 1091, 1091, 1085, 1074,   36,   40, | 
|  | 495 | 44,   50,   56,   62,    0,   63,   66,   81,   89,   47, | 
|  | 496 | 90,   91,   76,   96,  108,   49,   97,  110,   68,  137, | 
|  | 497 | 120,  168,  112,  115,  135,  127, 1083, 1091, 1072, 1091, | 
|  | 498 | 0,  158,  173,  180,  196,   70,  201,  216,  221,    0, | 
|  | 499 | 121,  152,  123,  139,  166,  140,  162,  184, 1071,  222, | 
|  | 500 | 180,   31,  186,  232,   69,  144,  209,  234,  236,  225, | 
|  | 501 | 188,  241,  119,  235,  189,  238,  246,  245,  249,  255, | 
|  | 502 | 248,  257,  258,  264,  269, 1070,  265,  267,  271,  273, | 
|  | 503 | 275,  276,  277,  282,  284,  304,  293,  296, 1069,  305, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 504 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 505 | 288,  285,  297,  308,  311,  315,  316,  323,  325,  147, | 
|  | 506 | 322,  328, 1068,    0,  343,  348, 1067,  362,  379,    0, | 
|  | 507 | 1066,  352,  335, 1065,  355, 1064,  354, 1063,  366,  368, | 
|  | 508 | 289, 1062,  348,  369,  380,  370,  382, 1061,  386,  384, | 
|  | 509 | 374,  392,  393,  388,  394,  398,  396,  400,  406,  404, | 
|  | 510 | 407,  411,  408,  413,  415,  418,  423,  421,  424,  425, | 
|  | 511 | 1060, 1059,  427,  428, 1058,  430, 1057, 1056,  454,  435, | 
|  | 512 | 443,  436,  465, 1055,  433, 1054,  434,  437,  467, 1053, | 
|  | 513 | 455,  468,  470,  331,  475,  477,  469,  471,  472,  487, | 
|  | 514 | 473,  491,  485,  479,  499,  493,  501,  495,  502,  505, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 515 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 516 | 508, 1052,  506, 1091,  519,  533,  537,  541,  546,  547, | 
|  | 517 | 513,  548,  549, 1051, 1050, 1049,  550,  551,  552,  553, | 
|  | 518 | 554,  555,  509,  556,  563,  559,  560,  572,  561,  562, | 
|  | 519 | 573, 1048,  576,  579,  580,  583,  585,  586,  587,  590, | 
|  | 520 | 588, 1047, 1046,  592,  594, 1045,  593,  595,    0,  598, | 
|  | 521 | 599,  613,  601,  605,  615,  616,  611,  511,  622,  623, | 
|  | 522 | 619, 1044,  627,  629, 1043, 1042,  630, 1041,  635,  633, | 
|  | 523 | 637,  640,  641,  642,  647,  648,  649, 1040,  651, 1039, | 
|  | 524 | 655,  653,  673, 1038,  652,  654, 1037,  660,  656,  673, | 
|  | 525 | 664,  675,  678,  679,  682,  683,  684,  686,  687, 1036, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 526 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 527 | 688, 1035,  690,  689,  692,  693,  696,  701, 1034,  702, | 
|  | 528 | 705,  711,  706,  712,  717, 1033,  709,  720, 1032, 1031, | 
|  | 529 | 1030, 1029, 1028, 1027, 1026,  722,  723, 1025,  724,  725, | 
|  | 530 | 729, 1024, 1023, 1022,  728,  732,  734,  730,  735, 1021, | 
|  | 531 | 731,  744,  740,  741,  749, 1020,  747, 1019,  750,  752, | 
|  | 532 | 756,  755,  758,  761, 1018, 1017, 1016,  768,  762, 1015, | 
|  | 533 | 770, 1014,  769,  771,  782, 1013,  774, 1012, 1011, 1010, | 
|  | 534 | 1009,  763,  775, 1008,  788,  783, 1007, 1006, 1005,  789, | 
|  | 535 | 791, 1004, 1003, 1002, 1001,  790,  794,  796,  795,  798, | 
|  | 536 | 799, 1000,  999,  998,  800,  806,  807,  809,  801,  811, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 537 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 538 | 812,  813,  817,  814,  818,  995,  819,  825,  826,  830, | 
|  | 539 | 836,  837,  839,  838,  841,  986,  842,  843,  847,  984, | 
|  | 540 | 848,  850,  849,  853,  983,  982,  851,  859,  869,  855, | 
|  | 541 | 871,  981,  873,  874,  875,  979,  978,  977,  878,  881, | 
|  | 542 | 882,  884,  885,  857,  887,  891,  893,  892,  895,  896, | 
|  | 543 | 897,  898,  899,  903,  904,  908,  909,  910,  975,  913, | 
|  | 544 | 916,  919,  920,  921,  971,  923,  924,  926,  928,  969, | 
|  | 545 | 930,  929,  968,  931,  937,  940,  941,  943,  949,  950, | 
|  | 546 | 951,  952,  954,  955,  956,  957,  858,  959,  854,  597, | 
|  | 547 | 523,  963,  440,  965,  438,  334,  286,  966,  205, 1091, | 
|  | 548 |  | 
|  | 549 | 1001, 1003,  214, 1007,   83 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 550 | } ; | 
|  | 551 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 552 | static yyconst flex_int16_t yy_def[506] = | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 553 | {   0, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 554 | 500,    1,  500,  500,  500,  500,  501,  502,  503,  500, | 
|  | 555 | 502,  502,  502,  502,  504,  502,  502,  502,  502,  502, | 
|  | 556 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 557 | 502,  502,  502,  502,  502,  502,  501,  500,  502,  500, | 
|  | 558 | 505,  505,  500,  500,  502,  502,  502,  502,  502,  504, | 
|  | 559 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 560 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 561 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 562 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 563 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 564 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 565 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 566 | 502,  502,  500,  505,  505,  500,  502,  502,  502,   49, | 
|  | 567 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 568 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 569 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 570 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 571 | 502,  502,  502,  502,  502,  502,  502,  502,   49,  502, | 
|  | 572 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 573 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 574 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 575 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 576 | 502,  502,  502,  500,  500,  500,  500,  502,  502,  502, | 
|  | 577 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 578 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 579 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 580 | 502,  502,  502,  502,  502,  502,  502,  502,  169,  502, | 
|  | 581 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 582 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 583 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 584 | 502,  502,  500,  502,  502,  502,  502,  502,  502,  502, | 
|  | 585 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 586 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 587 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 588 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 589 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 590 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 591 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 592 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 593 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 594 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 595 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 596 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 597 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 598 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 599 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 600 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 601 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 602 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 603 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 604 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 605 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 606 | 502,  502,  502,  502,  502,  502,  502,  502,  502,  502, | 
|  | 607 | 502,  502,  502,  502,  502,  502,  502,  502,  502,    0, | 
|  | 608 |  | 
|  | 609 | 500,  500,  500,  500,  500 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 610 | } ; | 
|  | 611 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 612 | static yyconst flex_int16_t yy_nxt[1135] = | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 613 | {   0, | 
|  | 614 | 4,    5,    6,    7,    8,    9,   10,   11,   12,   13, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 615 | 14,   14,   14,    4,   15,    8,    8,    8,   16,   17, | 
|  | 616 | 18,   19,   20,   21,   22,    8,   23,    8,   24,   25, | 
|  | 617 | 26,   27,   28,    8,   29,   30,   31,   32,   33,   34, | 
|  | 618 | 35,    8,   36,   42,   40,   43,   43,   43,   43,   44, | 
|  | 619 | 44,   44,   44,   45,   45,   45,   45,   40,   46,  133, | 
|  | 620 | 40,  134,   40,   40,   47,   48,   48,   48,   48,   40, | 
|  | 621 | 47,   48,   48,   48,   48,   40,   40,   68,  117,   40, | 
|  | 622 | 83,   40,   40,   40,   51,  114,   84,   69,   56,   40, | 
|  | 623 | 89,   52,   57,   53,   40,   54,   49,   58,   55,   60, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 624 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 625 | 59,   61,   40,   40,   40,   75,   76,  138,   70,   40, | 
|  | 626 | 40,   64,   62,   73,   77,   65,   63,   66,   71,   74, | 
|  | 627 | 67,   40,   78,   40,   72,   40,   80,   79,   40,   85, | 
|  | 628 | 107,   86,   40,   40,   40,   87,   40,  109,   98,   81, | 
|  | 629 | 40,   88,  121,  108,  124,   82,   90,  110,   40,  112, | 
|  | 630 | 40,   99,   40,   40,  100,  148,   91,   40,  201,   92, | 
|  | 631 | 40,  101,   93,   94,  127,   40,  111,  115,  115,  115, | 
|  | 632 | 115,  125,  139,   95,   96,   40,   97,   90,  122,   40, | 
|  | 633 | 123,   40,   43,   43,   43,   43,  128,  102,  116,   44, | 
|  | 634 | 44,   44,   44,   40,  103,  126,  104,   40,  105,   40, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 635 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 636 | 132,   40,   40,  106,   47,   45,   45,   45,   45,   40, | 
|  | 637 | 118,  118,  118,  118,   40,  129,   41,  119,   40,  146, | 
|  | 638 | 135,  150,   40,  119,   47,   48,   48,   48,   48,   40, | 
|  | 639 | 120,  120,  120,  120,   40,   40,  120,  120,   40,  120, | 
|  | 640 | 120,  120,  120,  120,  120,   40,  140,   40,   40,   40, | 
|  | 641 | 130,   40,  136,  144,   40,  141,  142,  131,   40,   40, | 
|  | 642 | 145,   40,   40,  147,  137,  154,  149,  157,   40,  160, | 
|  | 643 | 40,   40,  143,  151,  152,  155,  153,   40,   40,  158, | 
|  | 644 | 40,  156,   40,  159,   40,  161,   40,  164,   40,   40, | 
|  | 645 | 40,  165,  163,  166,  162,   40,  171,   40,   40,   40, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 646 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 647 | 167,   40,   40,  178,  172,  174,   40,  168,  175,   40, | 
|  | 648 | 40,  176,  173,  169,  177,  179,  170,   40,   40,  181, | 
|  | 649 | 186,   40,  182,  180,   40,  216,  187,  188,   40,   40, | 
|  | 650 | 183,  184,  190,  195,  196,   40,   40,  191,   40,  189, | 
|  | 651 | 194,   40,  185,  200,   40,  192,  197,   40,   40,  198, | 
|  | 652 | 193,  199,  115,  115,  115,  115,  202,  205,  205,  205, | 
|  | 653 | 205,   40,  203,  264,  206,   40,  211,   40,   40,  217, | 
|  | 654 | 206,  118,  118,  118,  118,   40,  210,  212,  119,   40, | 
|  | 655 | 213,   40,   40,   40,  119,  207,  208,   40,  209,  209, | 
|  | 656 | 209,  209,   40,   40,  214,   40,  215,   40,  220,   40, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 657 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 658 | 225,   40,  219,  224,  218,   40,   40,   40,  222,   40, | 
|  | 659 | 221,   40,  223,   40,  226,  227,  231,   40,  232,   40, | 
|  | 660 | 40,   40,  233,  229,   40,  234,   40,  228,   40,  236, | 
|  | 661 | 230,   40,  235,  237,   40,  239,   40,   40,   40,  238, | 
|  | 662 | 40,   40,  240,   40,  242,  243,   40,   40,   40,   40, | 
|  | 663 | 40,   40,  244,   40,  241,  246,   40,  258,  252,  259, | 
|  | 664 | 248,  247,  245,  249,  249,  249,  249,  257,   40,  249, | 
|  | 665 | 249,  250,  249,  249,  249,  249,  249,  249,   40,  251, | 
|  | 666 | 40,   40,   40,   40,   40,   40,   40,  253,   40,  254, | 
|  | 667 | 40,  261,   40,  255,  263,  256,  262,  265,   40,  266, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 668 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 669 | 40,  260,  269,  271,   40,  267,   40,  268,   40,  270, | 
|  | 670 | 274,  273,   40,  272,   40,   40,  278,  275,   40,   40, | 
|  | 671 | 279,   40,   40,  277,   40,  281,   40,  276,  205,  205, | 
|  | 672 | 205,  205,  280,  285,  326,  206,   40,  282,  294,  207, | 
|  | 673 | 207,  206,  283,  283,  283,  283,  283,  283,  283,  283, | 
|  | 674 | 209,  209,  209,  209,   40,  209,  209,  209,  209,   40, | 
|  | 675 | 40,   40,   40,   40,   40,   40,   40,   40,   40,   40, | 
|  | 676 | 288,  291,   40,   40,   40,   40,   40,  284,  286,  287, | 
|  | 677 | 292,  296,  301,  300,  295,   40,   40,  289,  290,   40, | 
|  | 678 | 299,  297,   40,   40,  298,  293,   40,  304,   40,   40, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 679 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 680 | 40,   40,  305,   40,  303,   40,   40,   40,   40,  302, | 
|  | 681 | 40,   40,   40,  308,   40,  309,  311,  306,   40,  307, | 
|  | 682 | 316,  310,  313,  312,   40,  317,   40,  320,   40,   40, | 
|  | 683 | 314,  315,   40,  318,  319,   40,   40,  322,  324,  329, | 
|  | 684 | 40,  321,   40,   40,  327,  328,   40,  325,   40,  330, | 
|  | 685 | 40,  323,  332,   40,   40,   40,  334,  331,  336,  333, | 
|  | 686 | 40,   40,   40,  335,   40,   40,   40,   40,   40,   40, | 
|  | 687 | 346,  337,  340,   40,  349,  347,  338,   40,  343,  345, | 
|  | 688 | 348,  339,  283,  283,  283,  283,   40,  342,   40,  341, | 
|  | 689 | 344,   40,   40,  350,  352,   40,   40,   40,  351,   40, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 690 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 691 | 40,   40,   40,   40,  355,   40,   40,  359,  360,   40, | 
|  | 692 | 353,  354,  361,  356,   40,   40,  358,  362,   40,   40, | 
|  | 693 | 357,  363,   40,  366,   40,   40,  365,  368,  370,  364, | 
|  | 694 | 40,  369,  367,   40,  371,   40,   40,   40,   40,  372, | 
|  | 695 | 373,   40,   40,   40,   40,   40,  376,   40,   40,  377, | 
|  | 696 | 375,  379,  381,   40,   40,  382,  374,   40,  387,  384, | 
|  | 697 | 40,  378,   40,   40,  380,   40,  383,  385,   40,   40, | 
|  | 698 | 386,   40,  392,  390,   40,   40,   40,  388,  393,  389, | 
|  | 699 | 391,   40,   40,   40,   40,  397,  398,   40,   40,  395, | 
|  | 700 | 394,  401,  396,  402,  404,   40,   40,  405,  399,  400, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 701 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 702 | 403,   40,   40,   40,   40,  406,  408,   40,   40,   40, | 
|  | 703 | 407,   40,   40,   40,   40,  409,  410,  413,  411,   40, | 
|  | 704 | 40,  414,   40,  421,   40,   40,   40,   40,  415,  412, | 
|  | 705 | 40,   40,   40,  422,  417,  416,  426,  420,   40,   40, | 
|  | 706 | 418,  424,  423,   40,  430,  425,  419,  429,  431,   40, | 
|  | 707 | 40,   40,   40,  427,   40,   40,   40,  428,  432,  434, | 
|  | 708 | 40,   40,   40,   40,   40,  436,   40,   40,   40,  439, | 
|  | 709 | 40,   40,   40,  433,  435,  443,  440,  444,  437,  438, | 
|  | 710 | 441,  445,   40,  447,   40,  442,   40,   40,   40,  446, | 
|  | 711 | 448,   40,  450,  449,   40,   40,  452,   40,   40,  457, | 
| Chris Lattner | a0c20b4 | 2005-11-12 00:11:49 +0000 | [diff] [blame] | 712 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 713 | 40,  451,  455,  453,   40,   40,   40,  458,   40,   40, | 
|  | 714 | 40,   40,   40,  462,  456,  464,   40,   40,  454,  460, | 
|  | 715 | 461,   40,   40,   40,  463,  465,   40,  459,  466,   40, | 
|  | 716 | 469,  470,   40,   40,   40,  467,   40,   40,  473,   40, | 
|  | 717 | 468,   40,   40,   40,   40,  477,  471,  474,  475,  476, | 
|  | 718 | 40,  482,  479,   40,   40,  472,   40,  484,  480,  483, | 
|  | 719 | 478,  481,   40,   40,   40,   40,  485,   40,   40,   40, | 
|  | 720 | 40,  486,   40,  491,  492,  493,   40,  487,   40,   40, | 
|  | 721 | 488,   40,   40,  497,   40,  490,  489,  498,   40,  496, | 
|  | 722 | 40,   40,   40,  495,   40,   40,   40,   40,  494,   40, | 
|  | 723 |  | 
|  | 724 | 499,   37,   37,   37,   37,   39,   39,   50,   40,   50, | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 725 | 50,   40,   40,   40,   40,   40,   40,   40,   40,   40, | 
| Chris Lattner | e0a4ee9 | 2006-01-25 22:27:16 +0000 | [diff] [blame] | 726 | 40,   40,   40,   40,   40,   40,   40,   40,   40,   40, | 
| Chris Lattner | 9ff96a7 | 2006-04-08 01:18:56 +0000 | [diff] [blame] | 727 | 40,   40,   40,   40,   40,   40,   40,   40,   40,   40, | 
|  | 728 | 40,   40,   40,   40,   40,   40,   40,   40,   40,   40, | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 729 | 40,   40,   40,   40,   40,   40,   40,   40,   40,   40, | 
|  | 730 | 40,   40,   40,   40,   40,   40,   40,   40,   40,   40, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 731 | 40,   40,   40,   40,   40,   40,   40,   40,   40,   40, | 
|  | 732 | 40,  204,   40,   40,   40,   40,  113,   40,   38,  500, | 
|  | 733 | 3,  500,  500,  500,  500,  500,  500,  500,  500,  500, | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 734 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 735 | 500,  500,  500,  500,  500,  500,  500,  500,  500,  500, | 
|  | 736 | 500,  500,  500,  500,  500,  500,  500,  500,  500,  500, | 
|  | 737 | 500,  500,  500,  500,  500,  500,  500,  500,  500,  500, | 
|  | 738 | 500,  500,  500,  500 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 739 | } ; | 
|  | 740 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 741 | static yyconst flex_int16_t yy_chk[1135] = | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 742 | {   0, | 
|  | 743 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 744 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 745 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
|  | 746 | 1,    1,    1,    1,    1,    1,    1,    1,    1,    1, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 747 | 1,    1,    1,    9,   62,    9,    9,    9,    9,   10, | 
|  | 748 | 10,   10,   10,   11,   11,   11,   11,   11,   12,   62, | 
|  | 749 | 20,   62,   26,   12,   13,   13,   13,   13,   13,   13, | 
|  | 750 | 14,   14,   14,   14,   14,   14,   16,   20,   46,   17, | 
|  | 751 | 26,   29,   65,   46,   16,  505,   26,   20,   17,   23, | 
|  | 752 | 29,   16,   17,   16,   18,   16,   13,   17,   16,   18, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 753 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 754 | 17,   18,   19,   21,   22,   23,   23,   65,   21,   24, | 
|  | 755 | 27,   19,   18,   22,   24,   19,   18,   19,   21,   22, | 
|  | 756 | 19,   25,   24,   28,   21,   33,   25,   24,   34,   27, | 
|  | 757 | 33,   27,   73,   31,   51,   28,   53,   34,   31,   25, | 
|  | 758 | 36,   28,   51,   33,   53,   25,   30,   35,   35,   36, | 
|  | 759 | 30,   31,   54,   56,   31,   73,   30,   66,  110,   30, | 
|  | 760 | 110,   31,   30,   30,   56,   52,   35,   42,   42,   42, | 
|  | 761 | 42,   54,   66,   30,   30,   57,   30,   32,   52,   55, | 
|  | 762 | 52,   32,   43,   43,   43,   43,   57,   32,   44,   44, | 
|  | 763 | 44,   44,   44,   61,   32,   55,   32,   58,   32,   63, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 764 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 765 | 61,   71,   75,   32,   45,   45,   45,   45,   45,   45, | 
|  | 766 | 47,   47,   47,   47,   47,   58,  503,   47,  499,   71, | 
|  | 767 | 63,   75,   67,   47,   48,   48,   48,   48,   48,   48, | 
|  | 768 | 49,   49,   49,   49,   49,   60,   49,   49,   70,   49, | 
|  | 769 | 49,   49,   49,   49,   49,   64,   67,   68,   74,   69, | 
|  | 770 | 60,   76,   64,   70,   72,   68,   69,   60,   78,   77, | 
|  | 771 | 70,   81,   79,   72,   64,   77,   74,   79,   80,   81, | 
|  | 772 | 82,   83,   69,   76,   76,   78,   76,   84,   87,   79, | 
|  | 773 | 88,   78,   85,   80,   89,   82,   90,   85,   91,   92, | 
|  | 774 | 93,   87,   84,   88,   83,   94,   92,   95,  102,  497, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 775 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 776 | 89,  101,  131,   94,   92,   93,   97,   89,   93,   98, | 
|  | 777 | 103,   93,   92,   90,   93,   95,   91,   96,  100,   97, | 
|  | 778 | 101,  104,   98,   96,  105,  131,  102,  103,  106,  107, | 
|  | 779 | 98,  100,  105,  107,  107,  111,  108,  105,  109,  104, | 
|  | 780 | 106,  112,  100,  109,  184,  105,  107,  496,  123,  108, | 
|  | 781 | 105,  108,  115,  115,  115,  115,  111,  116,  116,  116, | 
|  | 782 | 116,  133,  112,  184,  116,  122,  123,  127,  125,  133, | 
|  | 783 | 116,  118,  118,  118,  118,  118,  122,  125,  118,  129, | 
|  | 784 | 127,  130,  134,  136,  118,  119,  119,  141,  119,  119, | 
|  | 785 | 119,  119,  119,  135,  129,  137,  130,  140,  136,  139, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 786 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 787 | 141,  144,  135,  140,  134,  142,  143,  145,  139,  147, | 
|  | 788 | 137,  146,  139,  148,  142,  143,  146,  150,  147,  149, | 
|  | 789 | 151,  153,  148,  144,  152,  149,  154,  143,  155,  151, | 
|  | 790 | 145,  156,  150,  152,  158,  154,  157,  159,  160,  153, | 
|  | 791 | 163,  164,  155,  166,  157,  158,  175,  177,  170,  172, | 
|  | 792 | 178,  495,  159,  493,  156,  163,  171,  177,  172,  178, | 
|  | 793 | 166,  164,  160,  169,  169,  169,  169,  175,  181,  169, | 
|  | 794 | 169,  170,  169,  169,  169,  169,  169,  169,  173,  171, | 
|  | 795 | 179,  182,  187,  183,  188,  189,  191,  173,  185,  173, | 
|  | 796 | 186,  181,  194,  173,  183,  173,  182,  185,  193,  186, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 797 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 798 | 190,  179,  189,  191,  192,  187,  196,  188,  198,  190, | 
|  | 799 | 194,  193,  195,  192,  197,  199,  198,  195,  200,  203, | 
|  | 800 | 199,  201,  223,  197,  258,  201,  211,  196,  205,  205, | 
|  | 801 | 205,  205,  200,  211,  258,  205,  491,  203,  223,  206, | 
|  | 802 | 206,  205,  206,  206,  206,  206,  207,  207,  207,  207, | 
|  | 803 | 208,  208,  208,  208,  208,  209,  209,  209,  209,  209, | 
|  | 804 | 210,  212,  213,  217,  218,  219,  220,  221,  222,  224, | 
|  | 805 | 217,  220,  226,  227,  229,  230,  225,  210,  212,  213, | 
|  | 806 | 221,  225,  230,  229,  224,  228,  231,  218,  219,  233, | 
|  | 807 | 228,  226,  234,  235,  227,  222,  236,  234,  237,  238, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 808 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 809 | 239,  241,  235,  240,  233,  244,  247,  245,  248,  231, | 
|  | 810 | 490,  250,  251,  238,  253,  239,  241,  236,  254,  237, | 
|  | 811 | 250,  240,  245,  244,  257,  251,  252,  254,  255,  256, | 
|  | 812 | 247,  248,  261,  252,  253,  259,  260,  255,  256,  261, | 
|  | 813 | 263,  254,  264,  267,  259,  260,  270,  257,  269,  263, | 
|  | 814 | 271,  255,  267,  272,  273,  274,  270,  264,  272,  269, | 
|  | 815 | 275,  276,  277,  271,  279,  285,  282,  286,  281,  289, | 
|  | 816 | 285,  273,  276,  288,  289,  286,  274,  291,  281,  282, | 
|  | 817 | 288,  275,  283,  283,  283,  283,  290,  279,  292,  277, | 
|  | 818 | 281,  293,  294,  290,  292,  295,  296,  297,  291,  298, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 819 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 820 | 299,  301,  304,  303,  295,  305,  306,  299,  301,  307, | 
|  | 821 | 293,  294,  303,  296,  308,  310,  298,  304,  311,  313, | 
|  | 822 | 297,  305,  317,  308,  312,  314,  307,  311,  313,  306, | 
|  | 823 | 315,  312,  310,  318,  314,  326,  327,  329,  330,  315, | 
|  | 824 | 317,  335,  331,  338,  341,  336,  327,  337,  339,  329, | 
|  | 825 | 326,  331,  336,  343,  344,  337,  318,  342,  343,  339, | 
|  | 826 | 347,  330,  345,  349,  335,  350,  338,  341,  352,  351, | 
|  | 827 | 342,  353,  350,  347,  354,  359,  372,  344,  351,  345, | 
|  | 828 | 349,  358,  363,  361,  364,  358,  358,  367,  373,  353, | 
|  | 829 | 352,  363,  354,  364,  367,  365,  376,  372,  359,  361, | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 830 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 831 | 365,  375,  380,  386,  381,  373,  376,  387,  389,  388, | 
|  | 832 | 375,  390,  391,  395,  399,  380,  381,  388,  386,  396, | 
|  | 833 | 397,  389,  398,  399,  400,  401,  402,  404,  390,  387, | 
|  | 834 | 403,  405,  407,  400,  395,  391,  404,  398,  408,  409, | 
|  | 835 | 396,  402,  401,  410,  409,  403,  397,  408,  410,  411, | 
|  | 836 | 412,  414,  413,  405,  415,  417,  418,  407,  411,  413, | 
|  | 837 | 419,  421,  423,  422,  427,  415,  424,  489,  430,  419, | 
|  | 838 | 444,  487,  428,  412,  414,  424,  421,  427,  417,  418, | 
|  | 839 | 422,  428,  429,  430,  431,  423,  433,  434,  435,  429, | 
|  | 840 | 431,  439,  434,  433,  440,  441,  439,  442,  443,  444, | 
| Chris Lattner | a0c20b4 | 2005-11-12 00:11:49 +0000 | [diff] [blame] | 841 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 842 | 445,  435,  442,  440,  446,  448,  447,  445,  449,  450, | 
|  | 843 | 451,  452,  453,  449,  443,  451,  454,  455,  441,  447, | 
|  | 844 | 448,  456,  457,  458,  450,  452,  460,  446,  453,  461, | 
|  | 845 | 456,  457,  462,  463,  464,  454,  466,  467,  461,  468, | 
|  | 846 | 455,  469,  472,  471,  474,  466,  458,  462,  463,  464, | 
|  | 847 | 475,  472,  468,  476,  477,  460,  478,  475,  469,  474, | 
|  | 848 | 467,  471,  479,  480,  481,  482,  476,  483,  484,  485, | 
|  | 849 | 486,  477,  488,  482,  483,  484,  492,  478,  494,  498, | 
|  | 850 | 479,  473,  470,  492,  465,  481,  480,  494,  459,  488, | 
|  | 851 | 438,  437,  436,  486,  432,  426,  425,  420,  485,  416, | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 852 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 853 | 498,  501,  501,  501,  501,  502,  502,  504,  406,  504, | 
|  | 854 | 504,  394,  393,  392,  385,  384,  383,  382,  379,  378, | 
|  | 855 | 377,  374,  371,  370,  369,  368,  366,  362,  360,  357, | 
|  | 856 | 356,  355,  348,  346,  340,  334,  333,  332,  328,  325, | 
|  | 857 | 324,  323,  322,  321,  320,  319,  316,  309,  302,  300, | 
|  | 858 | 287,  284,  280,  278,  268,  266,  265,  262,  246,  243, | 
|  | 859 | 242,  232,  216,  215,  214,  202,  180,  176,  174,  168, | 
|  | 860 | 167,  165,  162,  161,  138,  132,  128,  126,  124,  121, | 
|  | 861 | 117,  113,   99,   86,   59,   39,   37,    8,    7,    3, | 
|  | 862 | 500,  500,  500,  500,  500,  500,  500,  500,  500,  500, | 
|  | 863 |  | 
|  | 864 | 500,  500,  500,  500,  500,  500,  500,  500,  500,  500, | 
|  | 865 | 500,  500,  500,  500,  500,  500,  500,  500,  500,  500, | 
|  | 866 | 500,  500,  500,  500,  500,  500,  500,  500,  500,  500, | 
|  | 867 | 500,  500,  500,  500 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 868 | } ; | 
|  | 869 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 870 | /* Table of booleans, true if rule could match eol. */ | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 871 | static yyconst flex_int32_t yy_rule_can_match_eol[114] = | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 872 | {   0, | 
|  | 873 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 
|  | 874 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 
|  | 875 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 
|  | 876 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 
|  | 877 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 878 | 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     }; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 879 |  | 
|  | 880 | static yy_state_type yy_last_accepting_state; | 
|  | 881 | static char *yy_last_accepting_cpos; | 
|  | 882 |  | 
|  | 883 | extern int llvmAsm_flex_debug; | 
|  | 884 | int llvmAsm_flex_debug = 0; | 
|  | 885 |  | 
|  | 886 | /* The intent behind this definition is that it'll catch | 
|  | 887 | * any uses of REJECT which flex missed. | 
|  | 888 | */ | 
|  | 889 | #define REJECT reject_used_but_not_detected | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 890 | #define yymore() yymore_used_but_not_detected | 
|  | 891 | #define YY_MORE_ADJ 0 | 
|  | 892 | #define YY_RESTORE_YY_MORE_OFFSET | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 893 | char *llvmAsmtext; | 
|  | 894 | #line 1 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 895 | /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===// | 
|  | 896 | // | 
|  | 897 | //                     The LLVM Compiler Infrastructure | 
|  | 898 | // | 
|  | 899 | // This file was developed by the LLVM research group and is distributed under | 
|  | 900 | // the University of Illinois Open Source License. See LICENSE.TXT for details. | 
|  | 901 | // | 
|  | 902 | //===----------------------------------------------------------------------===// | 
|  | 903 | // | 
|  | 904 | //  This file implements the flex scanner for LLVM assembly languages files. | 
|  | 905 | // | 
|  | 906 | //===----------------------------------------------------------------------===*/ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 907 | #line 28 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 908 | #include "ParserInternals.h" | 
|  | 909 | #include "llvm/Module.h" | 
|  | 910 | #include <list> | 
|  | 911 | #include "llvmAsmParser.h" | 
|  | 912 | #include <cctype> | 
|  | 913 | #include <cstdlib> | 
|  | 914 |  | 
|  | 915 | void set_scan_file(FILE * F){ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 916 | llvmAsm_switch_to_buffer(llvmAsm_create_buffer(F,YY_BUF_SIZE ) ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 917 | } | 
|  | 918 | void set_scan_string (const char * str) { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 919 | llvmAsm_scan_string (str); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 920 | } | 
|  | 921 |  | 
|  | 922 | #define RET_TOK(type, Enum, sym) \ | 
|  | 923 | llvmAsmlval.type = Instruction::Enum; return sym | 
|  | 924 |  | 
|  | 925 | namespace llvm { | 
|  | 926 |  | 
|  | 927 | // TODO: All of the static identifiers are figured out by the lexer, | 
|  | 928 | // these should be hashed to reduce the lexer size | 
|  | 929 |  | 
|  | 930 |  | 
|  | 931 | // atoull - Convert an ascii string of decimal digits into the unsigned long | 
|  | 932 | // long representation... this does not have to do input error checking, | 
|  | 933 | // because we know that the input will be matched by a suitable regex... | 
|  | 934 | // | 
|  | 935 | static uint64_t atoull(const char *Buffer) { | 
|  | 936 | uint64_t Result = 0; | 
|  | 937 | for (; *Buffer; Buffer++) { | 
|  | 938 | uint64_t OldRes = Result; | 
|  | 939 | Result *= 10; | 
|  | 940 | Result += *Buffer-'0'; | 
|  | 941 | if (Result < OldRes)   // Uh, oh, overflow detected!!! | 
| Reid Spencer | 713eedc | 2006-08-18 08:43:06 +0000 | [diff] [blame] | 942 | GenerateError("constant bigger than 64 bits detected!"); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 943 | } | 
|  | 944 | return Result; | 
|  | 945 | } | 
|  | 946 |  | 
|  | 947 | static uint64_t HexIntToVal(const char *Buffer) { | 
|  | 948 | uint64_t Result = 0; | 
|  | 949 | for (; *Buffer; ++Buffer) { | 
|  | 950 | uint64_t OldRes = Result; | 
|  | 951 | Result *= 16; | 
|  | 952 | char C = *Buffer; | 
|  | 953 | if (C >= '0' && C <= '9') | 
|  | 954 | Result += C-'0'; | 
|  | 955 | else if (C >= 'A' && C <= 'F') | 
|  | 956 | Result += C-'A'+10; | 
|  | 957 | else if (C >= 'a' && C <= 'f') | 
|  | 958 | Result += C-'a'+10; | 
|  | 959 |  | 
|  | 960 | if (Result < OldRes)   // Uh, oh, overflow detected!!! | 
| Reid Spencer | 713eedc | 2006-08-18 08:43:06 +0000 | [diff] [blame] | 961 | GenerateError("constant bigger than 64 bits detected!"); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 962 | } | 
|  | 963 | return Result; | 
|  | 964 | } | 
|  | 965 |  | 
|  | 966 |  | 
|  | 967 | // HexToFP - Convert the ascii string in hexidecimal format to the floating | 
|  | 968 | // point representation of it. | 
|  | 969 | // | 
|  | 970 | static double HexToFP(const char *Buffer) { | 
|  | 971 | // Behave nicely in the face of C TBAA rules... see: | 
|  | 972 | // http://www.nullstone.com/htmls/category/aliastyp.htm | 
|  | 973 | union { | 
|  | 974 | uint64_t UI; | 
|  | 975 | double FP; | 
|  | 976 | } UIntToFP; | 
|  | 977 | UIntToFP.UI = HexIntToVal(Buffer); | 
|  | 978 |  | 
|  | 979 | assert(sizeof(double) == sizeof(uint64_t) && | 
|  | 980 | "Data sizes incompatible on this target!"); | 
|  | 981 | return UIntToFP.FP;   // Cast Hex constant to double | 
|  | 982 | } | 
|  | 983 |  | 
|  | 984 |  | 
|  | 985 | // UnEscapeLexed - Run through the specified buffer and change \xx codes to the | 
|  | 986 | // appropriate character.  If AllowNull is set to false, a \00 value will cause | 
|  | 987 | // an exception to be thrown. | 
|  | 988 | // | 
|  | 989 | // If AllowNull is set to true, the return value of the function points to the | 
|  | 990 | // last character of the string in memory. | 
|  | 991 | // | 
|  | 992 | char *UnEscapeLexed(char *Buffer, bool AllowNull) { | 
|  | 993 | char *BOut = Buffer; | 
|  | 994 | for (char *BIn = Buffer; *BIn; ) { | 
|  | 995 | if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) { | 
|  | 996 | char Tmp = BIn[3]; BIn[3] = 0;     // Terminate string | 
|  | 997 | *BOut = (char)strtol(BIn+1, 0, 16);  // Convert to number | 
|  | 998 | if (!AllowNull && !*BOut) | 
| Reid Spencer | 713eedc | 2006-08-18 08:43:06 +0000 | [diff] [blame] | 999 | GenerateError("String literal cannot accept \\00 escape!"); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1000 |  | 
|  | 1001 | BIn[3] = Tmp;                  // Restore character | 
|  | 1002 | BIn += 3;                      // Skip over handled chars | 
|  | 1003 | ++BOut; | 
|  | 1004 | } else { | 
|  | 1005 | *BOut++ = *BIn++; | 
|  | 1006 | } | 
|  | 1007 | } | 
|  | 1008 |  | 
|  | 1009 | return BOut; | 
|  | 1010 | } | 
|  | 1011 |  | 
|  | 1012 | } // End llvm namespace | 
|  | 1013 |  | 
|  | 1014 | using namespace llvm; | 
|  | 1015 |  | 
|  | 1016 | #define YY_NEVER_INTERACTIVE 1 | 
|  | 1017 | /* Comments start with a ; and go till end of line */ | 
|  | 1018 | /* Variable(Value) identifiers start with a % sign */ | 
|  | 1019 | /* Label identifiers end with a colon */ | 
|  | 1020 | /* Quoted names can contain any character except " and \ */ | 
|  | 1021 | /* [PN]Integer: match positive and negative literal integer values that | 
|  | 1022 | * are preceeded by a '%' character.  These represent unnamed variable slots. | 
|  | 1023 | */ | 
|  | 1024 | /* E[PN]Integer: match positive and negative literal integer values */ | 
|  | 1025 | /* FPConstant - A Floating point constant. | 
|  | 1026 | */ | 
|  | 1027 | /* HexFPConstant - Floating point constant represented in IEEE format as a | 
|  | 1028 | *  hexadecimal number for when exponential notation is not precise enough. | 
|  | 1029 | */ | 
|  | 1030 | /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing | 
|  | 1031 | * it to deal with 64 bit numbers. | 
|  | 1032 | */ | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1033 | #line 1034 "Lexer.cpp" | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1034 |  | 
|  | 1035 | #define INITIAL 0 | 
|  | 1036 |  | 
|  | 1037 | #ifndef YY_NO_UNISTD_H | 
|  | 1038 | /* Special case for "unistd.h", since it is non-ANSI. We include it way | 
|  | 1039 | * down here because we want the user's section 1 to have been scanned first. | 
|  | 1040 | * The user has a chance to override it with an option. | 
|  | 1041 | */ | 
|  | 1042 | #include <unistd.h> | 
|  | 1043 | #endif | 
|  | 1044 |  | 
|  | 1045 | #ifndef YY_EXTRA_TYPE | 
|  | 1046 | #define YY_EXTRA_TYPE void * | 
|  | 1047 | #endif | 
|  | 1048 |  | 
|  | 1049 | static int yy_init_globals (void ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1050 |  | 
|  | 1051 | /* Macros after this point can all be overridden by user definitions in | 
|  | 1052 | * section 1. | 
|  | 1053 | */ | 
|  | 1054 |  | 
|  | 1055 | #ifndef YY_SKIP_YYWRAP | 
|  | 1056 | #ifdef __cplusplus | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1057 | extern "C" int llvmAsmwrap (void ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1058 | #else | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1059 | extern int llvmAsmwrap (void ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1060 | #endif | 
|  | 1061 | #endif | 
|  | 1062 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1063 | static inline void yyunput (int c,char *buf_ptr  ); | 
|  | 1064 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1065 | #ifndef yytext_ptr | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1066 | static void yy_flex_strncpy (char *,yyconst char *,int ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1067 | #endif | 
|  | 1068 |  | 
|  | 1069 | #ifdef YY_NEED_STRLEN | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1070 | static int yy_flex_strlen (yyconst char * ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1071 | #endif | 
|  | 1072 |  | 
|  | 1073 | #ifndef YY_NO_INPUT | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1074 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1075 | #ifdef __cplusplus | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1076 | static int yyinput (void ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1077 | #else | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1078 | static int input (void ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1079 | #endif | 
|  | 1080 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1081 | #endif | 
|  | 1082 |  | 
|  | 1083 | /* Amount of stuff to slurp up with each read. */ | 
|  | 1084 | #ifndef YY_READ_BUF_SIZE | 
|  | 1085 | #define YY_READ_BUF_SIZE 8192 | 
|  | 1086 | #endif | 
|  | 1087 |  | 
|  | 1088 | /* Copy whatever the last rule matched to the standard output. */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1089 | #ifndef ECHO | 
|  | 1090 | /* This used to be an fputs(), but since the string might contain NUL's, | 
|  | 1091 | * we now use fwrite(). | 
|  | 1092 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1093 | #define ECHO (void) fwrite( llvmAsmtext, llvmAsmleng, 1, llvmAsmout ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1094 | #endif | 
|  | 1095 |  | 
|  | 1096 | /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL, | 
|  | 1097 | * is returned in "result". | 
|  | 1098 | */ | 
|  | 1099 | #ifndef YY_INPUT | 
|  | 1100 | #define YY_INPUT(buf,result,max_size) \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1101 | if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1102 | { \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1103 | int c = '*'; \ | 
|  | 1104 | size_t n; \ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1105 | for ( n = 0; n < max_size && \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1106 | (c = getc( llvmAsmin )) != EOF && c != '\n'; ++n ) \ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1107 | buf[n] = (char) c; \ | 
|  | 1108 | if ( c == '\n' ) \ | 
|  | 1109 | buf[n++] = (char) c; \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1110 | if ( c == EOF && ferror( llvmAsmin ) ) \ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1111 | YY_FATAL_ERROR( "input in flex scanner failed" ); \ | 
|  | 1112 | result = n; \ | 
|  | 1113 | } \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1114 | else \ | 
|  | 1115 | { \ | 
|  | 1116 | errno=0; \ | 
|  | 1117 | while ( (result = fread(buf, 1, max_size, llvmAsmin))==0 && ferror(llvmAsmin)) \ | 
|  | 1118 | { \ | 
|  | 1119 | if( errno != EINTR) \ | 
|  | 1120 | { \ | 
|  | 1121 | YY_FATAL_ERROR( "input in flex scanner failed" ); \ | 
|  | 1122 | break; \ | 
|  | 1123 | } \ | 
|  | 1124 | errno=0; \ | 
|  | 1125 | clearerr(llvmAsmin); \ | 
|  | 1126 | } \ | 
|  | 1127 | }\ | 
|  | 1128 | \ | 
|  | 1129 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1130 | #endif | 
|  | 1131 |  | 
|  | 1132 | /* No semi-colon after return; correct usage is to write "yyterminate();" - | 
|  | 1133 | * we don't want an extra ';' after the "return" because that will cause | 
|  | 1134 | * some compilers to complain about unreachable statements. | 
|  | 1135 | */ | 
|  | 1136 | #ifndef yyterminate | 
|  | 1137 | #define yyterminate() return YY_NULL | 
|  | 1138 | #endif | 
|  | 1139 |  | 
|  | 1140 | /* Number of entries by which start-condition stack grows. */ | 
|  | 1141 | #ifndef YY_START_STACK_INCR | 
|  | 1142 | #define YY_START_STACK_INCR 25 | 
|  | 1143 | #endif | 
|  | 1144 |  | 
|  | 1145 | /* Report a fatal error. */ | 
|  | 1146 | #ifndef YY_FATAL_ERROR | 
|  | 1147 | #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) | 
|  | 1148 | #endif | 
|  | 1149 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1150 | /* end tables serialization structures and prototypes */ | 
|  | 1151 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1152 | /* Default declaration of generated scanner - a define so the user can | 
|  | 1153 | * easily add parameters. | 
|  | 1154 | */ | 
|  | 1155 | #ifndef YY_DECL | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1156 | #define YY_DECL_IS_OURS 1 | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1157 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1158 | extern int llvmAsmlex (void); | 
|  | 1159 |  | 
|  | 1160 | #define YY_DECL int llvmAsmlex (void) | 
|  | 1161 | #endif /* !YY_DECL */ | 
|  | 1162 |  | 
|  | 1163 | /* Code executed at the beginning of each rule, after llvmAsmtext and llvmAsmleng | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1164 | * have been set up. | 
|  | 1165 | */ | 
|  | 1166 | #ifndef YY_USER_ACTION | 
|  | 1167 | #define YY_USER_ACTION | 
|  | 1168 | #endif | 
|  | 1169 |  | 
|  | 1170 | /* Code executed at the end of each rule. */ | 
|  | 1171 | #ifndef YY_BREAK | 
|  | 1172 | #define YY_BREAK break; | 
|  | 1173 | #endif | 
|  | 1174 |  | 
|  | 1175 | #define YY_RULE_SETUP \ | 
|  | 1176 | YY_USER_ACTION | 
|  | 1177 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1178 | /** The main scanner function which does all the work. | 
|  | 1179 | */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1180 | YY_DECL | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1181 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1182 | register yy_state_type yy_current_state; | 
| Chris Lattner | 680aab6 | 2006-08-18 17:34:45 +0000 | [diff] [blame] | 1183 | register char *yy_cp, *yy_bp; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1184 | register int yy_act; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1185 |  | 
|  | 1186 | #line 179 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1187 |  | 
|  | 1188 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1189 | #line 1190 "Lexer.cpp" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1190 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1191 | if ( !(yy_init) ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1192 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1193 | (yy_init) = 1; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1194 |  | 
|  | 1195 | #ifdef YY_USER_INIT | 
|  | 1196 | YY_USER_INIT; | 
|  | 1197 | #endif | 
|  | 1198 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1199 | if ( ! (yy_start) ) | 
|  | 1200 | (yy_start) = 1;	/* first start state */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1201 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1202 | if ( ! llvmAsmin ) | 
|  | 1203 | llvmAsmin = stdin; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1204 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1205 | if ( ! llvmAsmout ) | 
|  | 1206 | llvmAsmout = stdout; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1207 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1208 | if ( ! YY_CURRENT_BUFFER ) { | 
|  | 1209 | llvmAsmensure_buffer_stack (); | 
|  | 1210 | YY_CURRENT_BUFFER_LVALUE = | 
|  | 1211 | llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE ); | 
|  | 1212 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1213 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1214 | llvmAsm_load_buffer_state( ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1215 | } | 
|  | 1216 |  | 
|  | 1217 | while ( 1 )		/* loops until end-of-file is reached */ | 
|  | 1218 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1219 | yy_cp = (yy_c_buf_p); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1220 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1221 | /* Support of llvmAsmtext. */ | 
|  | 1222 | *yy_cp = (yy_hold_char); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1223 |  | 
|  | 1224 | /* yy_bp points to the position in yy_ch_buf of the start of | 
|  | 1225 | * the current run. | 
|  | 1226 | */ | 
|  | 1227 | yy_bp = yy_cp; | 
|  | 1228 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1229 | yy_current_state = (yy_start); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1230 | yy_match: | 
|  | 1231 | do | 
|  | 1232 | { | 
|  | 1233 | register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1234 | if ( yy_accept[yy_current_state] ) | 
|  | 1235 | { | 
|  | 1236 | (yy_last_accepting_state) = yy_current_state; | 
|  | 1237 | (yy_last_accepting_cpos) = yy_cp; | 
|  | 1238 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1239 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | 
|  | 1240 | { | 
|  | 1241 | yy_current_state = (int) yy_def[yy_current_state]; | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1242 | if ( yy_current_state >= 501 ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1243 | yy_c = yy_meta[(unsigned int) yy_c]; | 
|  | 1244 | } | 
|  | 1245 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1246 | ++yy_cp; | 
|  | 1247 | } | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1248 | while ( yy_current_state != 500 ); | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1249 | yy_cp = (yy_last_accepting_cpos); | 
|  | 1250 | yy_current_state = (yy_last_accepting_state); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1251 |  | 
|  | 1252 | yy_find_action: | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1253 | yy_act = yy_accept[yy_current_state]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1254 |  | 
|  | 1255 | YY_DO_BEFORE_ACTION; | 
|  | 1256 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1257 | if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1258 | { | 
|  | 1259 | int yyl; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1260 | for ( yyl = 0; yyl < llvmAsmleng; ++yyl ) | 
|  | 1261 | if ( llvmAsmtext[yyl] == '\n' ) | 
|  | 1262 |  | 
|  | 1263 | llvmAsmlineno++; | 
|  | 1264 | ; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1265 | } | 
|  | 1266 |  | 
|  | 1267 | do_action:	/* This label is used only to access EOF actions. */ | 
|  | 1268 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1269 | switch ( yy_act ) | 
|  | 1270 | { /* beginning of action switch */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1271 | case 0: /* must back up */ | 
|  | 1272 | /* undo the effects of YY_DO_BEFORE_ACTION */ | 
|  | 1273 | *yy_cp = (yy_hold_char); | 
|  | 1274 | yy_cp = (yy_last_accepting_cpos); | 
|  | 1275 | yy_current_state = (yy_last_accepting_state); | 
|  | 1276 | goto yy_find_action; | 
|  | 1277 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1278 | case 1: | 
|  | 1279 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1280 | #line 181 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1281 | { /* Ignore comments for now */ } | 
|  | 1282 | YY_BREAK | 
|  | 1283 | case 2: | 
|  | 1284 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1285 | #line 183 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1286 | { return BEGINTOK; } | 
|  | 1287 | YY_BREAK | 
|  | 1288 | case 3: | 
|  | 1289 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1290 | #line 184 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1291 | { return ENDTOK; } | 
|  | 1292 | YY_BREAK | 
|  | 1293 | case 4: | 
|  | 1294 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1295 | #line 185 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1296 | { return TRUETOK;  } | 
|  | 1297 | YY_BREAK | 
|  | 1298 | case 5: | 
|  | 1299 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1300 | #line 186 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1301 | { return FALSETOK; } | 
|  | 1302 | YY_BREAK | 
|  | 1303 | case 6: | 
|  | 1304 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1305 | #line 187 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1306 | { return DECLARE; } | 
|  | 1307 | YY_BREAK | 
|  | 1308 | case 7: | 
|  | 1309 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1310 | #line 188 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1311 | { return GLOBAL; } | 
|  | 1312 | YY_BREAK | 
|  | 1313 | case 8: | 
|  | 1314 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1315 | #line 189 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1316 | { return CONSTANT; } | 
|  | 1317 | YY_BREAK | 
|  | 1318 | case 9: | 
|  | 1319 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1320 | #line 190 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1321 | { return INTERNAL; } | 
|  | 1322 | YY_BREAK | 
|  | 1323 | case 10: | 
|  | 1324 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1325 | #line 191 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1326 | { return LINKONCE; } | 
|  | 1327 | YY_BREAK | 
|  | 1328 | case 11: | 
|  | 1329 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1330 | #line 192 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1331 | { return WEAK; } | 
|  | 1332 | YY_BREAK | 
|  | 1333 | case 12: | 
|  | 1334 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1335 | #line 193 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1336 | { return APPENDING; } | 
|  | 1337 | YY_BREAK | 
|  | 1338 | case 13: | 
|  | 1339 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1340 | #line 194 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1341 | { return DLLIMPORT; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1342 | YY_BREAK | 
|  | 1343 | case 14: | 
|  | 1344 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1345 | #line 195 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1346 | { return DLLEXPORT; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1347 | YY_BREAK | 
|  | 1348 | case 15: | 
|  | 1349 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1350 | #line 196 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1351 | { return EXTERN_WEAK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1352 | YY_BREAK | 
|  | 1353 | case 16: | 
|  | 1354 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1355 | #line 197 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1356 | { return EXTERNAL; }    /* Deprecated, turn into external */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1357 | YY_BREAK | 
|  | 1358 | case 17: | 
|  | 1359 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1360 | #line 198 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1361 | { return EXTERNAL; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1362 | YY_BREAK | 
|  | 1363 | case 18: | 
|  | 1364 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1365 | #line 199 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1366 | { return IMPLEMENTATION; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1367 | YY_BREAK | 
|  | 1368 | case 19: | 
|  | 1369 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1370 | #line 200 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1371 | { return ZEROINITIALIZER; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1372 | YY_BREAK | 
|  | 1373 | case 20: | 
|  | 1374 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1375 | #line 201 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1376 | { return DOTDOTDOT; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1377 | YY_BREAK | 
|  | 1378 | case 21: | 
|  | 1379 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1380 | #line 202 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1381 | { return UNDEF; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1382 | YY_BREAK | 
|  | 1383 | case 22: | 
|  | 1384 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1385 | #line 203 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1386 | { return NULL_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1387 | YY_BREAK | 
|  | 1388 | case 23: | 
|  | 1389 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1390 | #line 204 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1391 | { return TO; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1392 | YY_BREAK | 
|  | 1393 | case 24: | 
|  | 1394 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1395 | #line 205 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1396 | { RET_TOK(TermOpVal, Unwind, UNWIND); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1397 | YY_BREAK | 
|  | 1398 | case 25: | 
|  | 1399 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1400 | #line 206 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1401 | { return NOT; }  /* Deprecated, turned into XOR */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1402 | YY_BREAK | 
|  | 1403 | case 26: | 
|  | 1404 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1405 | #line 207 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1406 | { return TAIL; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1407 | YY_BREAK | 
|  | 1408 | case 27: | 
|  | 1409 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1410 | #line 208 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1411 | { return TARGET; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1412 | YY_BREAK | 
|  | 1413 | case 28: | 
|  | 1414 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1415 | #line 209 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1416 | { return TRIPLE; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1417 | YY_BREAK | 
|  | 1418 | case 29: | 
|  | 1419 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1420 | #line 210 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1421 | { return DEPLIBS; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1422 | YY_BREAK | 
|  | 1423 | case 30: | 
|  | 1424 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1425 | #line 211 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1426 | { return ENDIAN; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1427 | YY_BREAK | 
|  | 1428 | case 31: | 
|  | 1429 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1430 | #line 212 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1431 | { return POINTERSIZE; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1432 | YY_BREAK | 
|  | 1433 | case 32: | 
|  | 1434 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1435 | #line 213 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1436 | { return LITTLE; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1437 | YY_BREAK | 
|  | 1438 | case 33: | 
|  | 1439 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1440 | #line 214 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1441 | { return BIG; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1442 | YY_BREAK | 
|  | 1443 | case 34: | 
|  | 1444 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1445 | #line 215 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1446 | { return VOLATILE; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1447 | YY_BREAK | 
|  | 1448 | case 35: | 
|  | 1449 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1450 | #line 216 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1451 | { return ALIGN;  } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1452 | YY_BREAK | 
|  | 1453 | case 36: | 
|  | 1454 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1455 | #line 217 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1456 | { return SECTION; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1457 | YY_BREAK | 
|  | 1458 | case 37: | 
|  | 1459 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1460 | #line 218 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1461 | { return MODULE; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1462 | YY_BREAK | 
|  | 1463 | case 38: | 
|  | 1464 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1465 | #line 219 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1466 | { return ASM_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1467 | YY_BREAK | 
|  | 1468 | case 39: | 
|  | 1469 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1470 | #line 220 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1471 | { return SIDEEFFECT; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1472 | YY_BREAK | 
|  | 1473 | case 40: | 
|  | 1474 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1475 | #line 222 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1476 | { return CC_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1477 | YY_BREAK | 
|  | 1478 | case 41: | 
|  | 1479 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1480 | #line 223 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1481 | { return CCC_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1482 | YY_BREAK | 
|  | 1483 | case 42: | 
|  | 1484 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1485 | #line 224 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1486 | { return CSRETCC_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1487 | YY_BREAK | 
|  | 1488 | case 43: | 
|  | 1489 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1490 | #line 225 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1491 | { return FASTCC_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1492 | YY_BREAK | 
|  | 1493 | case 44: | 
|  | 1494 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1495 | #line 226 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1496 | { return COLDCC_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1497 | YY_BREAK | 
|  | 1498 | case 45: | 
|  | 1499 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1500 | #line 227 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1501 | { return X86_STDCALLCC_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1502 | YY_BREAK | 
|  | 1503 | case 46: | 
|  | 1504 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1505 | #line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1506 | { return X86_FASTCALLCC_TOK; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1507 | YY_BREAK | 
|  | 1508 | case 47: | 
|  | 1509 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1510 | #line 230 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1511 | { llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1512 | YY_BREAK | 
|  | 1513 | case 48: | 
|  | 1514 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1515 | #line 231 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1516 | { llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1517 | YY_BREAK | 
|  | 1518 | case 49: | 
|  | 1519 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1520 | #line 232 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1521 | { llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1522 | YY_BREAK | 
|  | 1523 | case 50: | 
|  | 1524 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1525 | #line 233 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1526 | { llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1527 | YY_BREAK | 
|  | 1528 | case 51: | 
|  | 1529 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1530 | #line 234 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1531 | { llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1532 | YY_BREAK | 
|  | 1533 | case 52: | 
|  | 1534 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1535 | #line 235 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1536 | { llvmAsmlval.PrimType = Type::UShortTy; return USHORT; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1537 | YY_BREAK | 
|  | 1538 | case 53: | 
|  | 1539 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1540 | #line 236 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1541 | { llvmAsmlval.PrimType = Type::IntTy   ; return INT;    } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1542 | YY_BREAK | 
|  | 1543 | case 54: | 
|  | 1544 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1545 | #line 237 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1546 | { llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1547 | YY_BREAK | 
|  | 1548 | case 55: | 
|  | 1549 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1550 | #line 238 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1551 | { llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1552 | YY_BREAK | 
|  | 1553 | case 56: | 
|  | 1554 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1555 | #line 239 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1556 | { llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1557 | YY_BREAK | 
|  | 1558 | case 57: | 
|  | 1559 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1560 | #line 240 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1561 | { llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1562 | YY_BREAK | 
|  | 1563 | case 58: | 
|  | 1564 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1565 | #line 241 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1566 | { llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1567 | YY_BREAK | 
|  | 1568 | case 59: | 
|  | 1569 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1570 | #line 242 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1571 | { llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1572 | YY_BREAK | 
|  | 1573 | case 60: | 
|  | 1574 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1575 | #line 243 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1576 | { return TYPE;   } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1577 | YY_BREAK | 
|  | 1578 | case 61: | 
|  | 1579 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1580 | #line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1581 | { return OPAQUE; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1582 | YY_BREAK | 
|  | 1583 | case 62: | 
|  | 1584 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1585 | #line 246 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1586 | { RET_TOK(BinaryOpVal, Add, ADD); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1587 | YY_BREAK | 
|  | 1588 | case 63: | 
|  | 1589 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1590 | #line 247 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1591 | { RET_TOK(BinaryOpVal, Sub, SUB); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1592 | YY_BREAK | 
|  | 1593 | case 64: | 
|  | 1594 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1595 | #line 248 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1596 | { RET_TOK(BinaryOpVal, Mul, MUL); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1597 | YY_BREAK | 
|  | 1598 | case 65: | 
|  | 1599 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1600 | #line 249 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1601 | { RET_TOK(BinaryOpVal, Div, DIV); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1602 | YY_BREAK | 
|  | 1603 | case 66: | 
|  | 1604 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1605 | #line 250 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1606 | { RET_TOK(BinaryOpVal, Rem, REM); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1607 | YY_BREAK | 
|  | 1608 | case 67: | 
|  | 1609 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1610 | #line 251 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1611 | { RET_TOK(BinaryOpVal, And, AND); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1612 | YY_BREAK | 
|  | 1613 | case 68: | 
|  | 1614 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1615 | #line 252 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1616 | { RET_TOK(BinaryOpVal, Or , OR ); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1617 | YY_BREAK | 
|  | 1618 | case 69: | 
|  | 1619 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1620 | #line 253 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1621 | { RET_TOK(BinaryOpVal, Xor, XOR); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1622 | YY_BREAK | 
|  | 1623 | case 70: | 
|  | 1624 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1625 | #line 254 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1626 | { RET_TOK(BinaryOpVal, SetNE, SETNE); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1627 | YY_BREAK | 
|  | 1628 | case 71: | 
|  | 1629 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1630 | #line 255 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1631 | { RET_TOK(BinaryOpVal, SetEQ, SETEQ); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1632 | YY_BREAK | 
|  | 1633 | case 72: | 
|  | 1634 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1635 | #line 256 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1636 | { RET_TOK(BinaryOpVal, SetLT, SETLT); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1637 | YY_BREAK | 
|  | 1638 | case 73: | 
|  | 1639 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1640 | #line 257 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1641 | { RET_TOK(BinaryOpVal, SetGT, SETGT); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1642 | YY_BREAK | 
|  | 1643 | case 74: | 
|  | 1644 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1645 | #line 258 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1646 | { RET_TOK(BinaryOpVal, SetLE, SETLE); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1647 | YY_BREAK | 
|  | 1648 | case 75: | 
|  | 1649 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1650 | #line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1651 | { RET_TOK(BinaryOpVal, SetGE, SETGE); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1652 | YY_BREAK | 
|  | 1653 | case 76: | 
|  | 1654 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1655 | #line 261 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1656 | { RET_TOK(OtherOpVal, PHI, PHI_TOK); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1657 | YY_BREAK | 
|  | 1658 | case 77: | 
|  | 1659 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1660 | #line 262 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1661 | { RET_TOK(OtherOpVal, Call, CALL); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1662 | YY_BREAK | 
|  | 1663 | case 78: | 
|  | 1664 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1665 | #line 263 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1666 | { RET_TOK(OtherOpVal, Cast, CAST); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1667 | YY_BREAK | 
|  | 1668 | case 79: | 
|  | 1669 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1670 | #line 264 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1671 | { RET_TOK(OtherOpVal, Select, SELECT); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1672 | YY_BREAK | 
|  | 1673 | case 80: | 
|  | 1674 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1675 | #line 265 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1676 | { RET_TOK(OtherOpVal, Shl, SHL); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1677 | YY_BREAK | 
|  | 1678 | case 81: | 
|  | 1679 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1680 | #line 266 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1681 | { RET_TOK(OtherOpVal, Shr, SHR); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1682 | YY_BREAK | 
|  | 1683 | case 82: | 
|  | 1684 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1685 | #line 267 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1686 | { return VANEXT_old; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1687 | YY_BREAK | 
|  | 1688 | case 83: | 
|  | 1689 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1690 | #line 268 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1691 | { return VAARG_old; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1692 | YY_BREAK | 
|  | 1693 | case 84: | 
|  | 1694 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1695 | #line 269 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1696 | { RET_TOK(OtherOpVal, VAArg , VAARG); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1697 | YY_BREAK | 
|  | 1698 | case 85: | 
|  | 1699 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1700 | #line 270 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1701 | { RET_TOK(TermOpVal, Ret, RET); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1702 | YY_BREAK | 
|  | 1703 | case 86: | 
|  | 1704 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1705 | #line 271 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1706 | { RET_TOK(TermOpVal, Br, BR); } | 
| Nate Begeman | 848622f | 2005-11-05 09:21:28 +0000 | [diff] [blame] | 1707 | YY_BREAK | 
|  | 1708 | case 87: | 
|  | 1709 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1710 | #line 272 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1711 | { RET_TOK(TermOpVal, Switch, SWITCH); } | 
| Chris Lattner | a0c20b4 | 2005-11-12 00:11:49 +0000 | [diff] [blame] | 1712 | YY_BREAK | 
|  | 1713 | case 88: | 
|  | 1714 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1715 | #line 273 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1716 | { RET_TOK(TermOpVal, Invoke, INVOKE); } | 
| Robert Bocchino | aa1cf54 | 2006-01-10 19:04:32 +0000 | [diff] [blame] | 1717 | YY_BREAK | 
|  | 1718 | case 89: | 
|  | 1719 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1720 | #line 274 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1721 | { RET_TOK(TermOpVal, Unwind, UNWIND); } | 
| Robert Bocchino | fdf9e41 | 2006-01-17 20:06:25 +0000 | [diff] [blame] | 1722 | YY_BREAK | 
|  | 1723 | case 90: | 
|  | 1724 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1725 | #line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1726 | { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } | 
| Chris Lattner | edd9b03 | 2006-01-23 23:05:42 +0000 | [diff] [blame] | 1727 | YY_BREAK | 
|  | 1728 | case 91: | 
|  | 1729 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1730 | #line 277 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1731 | { RET_TOK(MemOpVal, Malloc, MALLOC); } | 
| Chris Lattner | 8ebd216 | 2006-01-24 04:14:29 +0000 | [diff] [blame] | 1732 | YY_BREAK | 
|  | 1733 | case 92: | 
|  | 1734 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1735 | #line 278 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1736 | { RET_TOK(MemOpVal, Alloca, ALLOCA); } | 
| Chris Lattner | e0a4ee9 | 2006-01-25 22:27:16 +0000 | [diff] [blame] | 1737 | YY_BREAK | 
|  | 1738 | case 93: | 
|  | 1739 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1740 | #line 279 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1741 | { RET_TOK(MemOpVal, Free, FREE); } | 
| Chris Lattner | 9ff96a7 | 2006-04-08 01:18:56 +0000 | [diff] [blame] | 1742 | YY_BREAK | 
|  | 1743 | case 94: | 
|  | 1744 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1745 | #line 280 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1746 | { RET_TOK(MemOpVal, Load, LOAD); } | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1747 | YY_BREAK | 
|  | 1748 | case 95: | 
|  | 1749 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1750 | #line 281 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1751 | { RET_TOK(MemOpVal, Store, STORE); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1752 | YY_BREAK | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1753 | case 96: | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1754 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1755 | #line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1756 | { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1757 | YY_BREAK | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1758 | case 97: | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1759 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1760 | #line 284 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1761 | { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1762 | YY_BREAK | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1763 | case 98: | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1764 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1765 | #line 285 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1766 | { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); } | 
|  | 1767 | YY_BREAK | 
|  | 1768 | case 99: | 
|  | 1769 | YY_RULE_SETUP | 
|  | 1770 | #line 286 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
|  | 1771 | { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); } | 
|  | 1772 | YY_BREAK | 
|  | 1773 | case 100: | 
|  | 1774 | YY_RULE_SETUP | 
|  | 1775 | #line 289 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1776 | { | 
|  | 1777 | UnEscapeLexed(llvmAsmtext+1); | 
|  | 1778 | llvmAsmlval.StrVal = strdup(llvmAsmtext+1);             // Skip % | 
|  | 1779 | return VAR_ID; | 
|  | 1780 | } | 
|  | 1781 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1782 | case 101: | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1783 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1784 | #line 294 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1785 | { | 
|  | 1786 | llvmAsmtext[strlen(llvmAsmtext)-1] = 0;  // nuke colon | 
|  | 1787 | UnEscapeLexed(llvmAsmtext); | 
|  | 1788 | llvmAsmlval.StrVal = strdup(llvmAsmtext); | 
|  | 1789 | return LABELSTR; | 
|  | 1790 | } | 
|  | 1791 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1792 | case 102: | 
|  | 1793 | /* rule 102 can match eol */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1794 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1795 | #line 300 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1796 | { | 
|  | 1797 | llvmAsmtext[strlen(llvmAsmtext)-2] = 0;  // nuke colon, end quote | 
|  | 1798 | UnEscapeLexed(llvmAsmtext+1); | 
|  | 1799 | llvmAsmlval.StrVal = strdup(llvmAsmtext+1); | 
|  | 1800 | return LABELSTR; | 
|  | 1801 | } | 
|  | 1802 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1803 | case 103: | 
|  | 1804 | /* rule 103 can match eol */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1805 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1806 | #line 307 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1807 | { // Note that we cannot unescape a string constant here!  The | 
|  | 1808 | // string constant might contain a \00 which would not be | 
|  | 1809 | // understood by the string stuff.  It is valid to make a | 
|  | 1810 | // [sbyte] c"Hello World\00" constant, for example. | 
|  | 1811 | // | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1812 | llvmAsmtext[strlen(llvmAsmtext)-1] = 0;           // nuke end quote | 
|  | 1813 | llvmAsmlval.StrVal = strdup(llvmAsmtext+1);  // Nuke start quote | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1814 | return STRINGCONSTANT; | 
|  | 1815 | } | 
|  | 1816 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1817 | case 104: | 
| Chris Lattner | 9ff96a7 | 2006-04-08 01:18:56 +0000 | [diff] [blame] | 1818 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1819 | #line 318 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1820 | { llvmAsmlval.UInt64Val = atoull(llvmAsmtext); return EUINT64VAL; } | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1821 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1822 | case 105: | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1823 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1824 | #line 319 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1825 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1826 | uint64_t Val = atoull(llvmAsmtext+1); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1827 | // +1:  we have bigger negative range | 
|  | 1828 | if (Val > (uint64_t)INT64_MAX+1) | 
| Reid Spencer | 713eedc | 2006-08-18 08:43:06 +0000 | [diff] [blame] | 1829 | GenerateError("Constant too large for signed 64 bits!"); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1830 | llvmAsmlval.SInt64Val = -Val; | 
|  | 1831 | return ESINT64VAL; | 
|  | 1832 | } | 
|  | 1833 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1834 | case 106: | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1835 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1836 | #line 327 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1837 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1838 | llvmAsmlval.UInt64Val = HexIntToVal(llvmAsmtext+3); | 
|  | 1839 | return llvmAsmtext[0] == 's' ? ESINT64VAL : EUINT64VAL; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1840 | } | 
|  | 1841 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1842 | case 107: | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1843 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1844 | #line 332 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1845 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1846 | uint64_t Val = atoull(llvmAsmtext+1); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1847 | if ((unsigned)Val != Val) | 
| Reid Spencer | 713eedc | 2006-08-18 08:43:06 +0000 | [diff] [blame] | 1848 | GenerateError("Invalid value number (too large)!"); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1849 | llvmAsmlval.UIntVal = unsigned(Val); | 
|  | 1850 | return UINTVAL; | 
|  | 1851 | } | 
|  | 1852 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1853 | case 108: | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1854 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1855 | #line 339 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1856 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1857 | uint64_t Val = atoull(llvmAsmtext+2); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1858 | // +1:  we have bigger negative range | 
|  | 1859 | if (Val > (uint64_t)INT32_MAX+1) | 
| Reid Spencer | 713eedc | 2006-08-18 08:43:06 +0000 | [diff] [blame] | 1860 | GenerateError("Constant too large for signed 32 bits!"); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1861 | llvmAsmlval.SIntVal = (int)-Val; | 
|  | 1862 | return SINTVAL; | 
|  | 1863 | } | 
|  | 1864 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1865 | case 109: | 
| Chris Lattner | 9ff96a7 | 2006-04-08 01:18:56 +0000 | [diff] [blame] | 1866 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1867 | #line 348 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1868 | { llvmAsmlval.FPVal = atof(llvmAsmtext); return FPVAL; } | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1869 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1870 | case 110: | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1871 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1872 | #line 349 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1873 | { llvmAsmlval.FPVal = HexToFP(llvmAsmtext); return FPVAL; } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1874 | YY_BREAK | 
|  | 1875 | case YY_STATE_EOF(INITIAL): | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1876 | #line 351 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1877 | { | 
|  | 1878 | /* Make sure to free the internal buffers for flex when we are | 
|  | 1879 | * done reading our input! | 
|  | 1880 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1881 | llvmAsm_delete_buffer(YY_CURRENT_BUFFER); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1882 | return EOF; | 
|  | 1883 | } | 
|  | 1884 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1885 | case 111: | 
|  | 1886 | /* rule 111 can match eol */ | 
| Chris Lattner | e0a4ee9 | 2006-01-25 22:27:16 +0000 | [diff] [blame] | 1887 | YY_RULE_SETUP | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1888 | #line 359 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1889 | { /* Ignore whitespace */ } | 
| Chris Lattner | 9ff96a7 | 2006-04-08 01:18:56 +0000 | [diff] [blame] | 1890 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1891 | case 112: | 
| Chris Lattner | 09c0e99 | 2006-05-19 21:28:53 +0000 | [diff] [blame] | 1892 | YY_RULE_SETUP | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1893 | #line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1894 | { return llvmAsmtext[0]; } | 
|  | 1895 | YY_BREAK | 
|  | 1896 | case 113: | 
|  | 1897 | YY_RULE_SETUP | 
|  | 1898 | #line 362 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1899 | YY_FATAL_ERROR( "flex scanner jammed" ); | 
|  | 1900 | YY_BREAK | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 1901 | #line 1902 "Lexer.cpp" | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1902 |  | 
|  | 1903 | case YY_END_OF_BUFFER: | 
|  | 1904 | { | 
|  | 1905 | /* Amount of text matched not including the EOB char. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1906 | int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1907 |  | 
|  | 1908 | /* Undo the effects of YY_DO_BEFORE_ACTION. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1909 | *yy_cp = (yy_hold_char); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1910 | YY_RESTORE_YY_MORE_OFFSET | 
|  | 1911 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1912 | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1913 | { | 
|  | 1914 | /* We're scanning a new file or input source.  It's | 
|  | 1915 | * possible that this happened because the user | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1916 | * just pointed llvmAsmin at a new source and called | 
|  | 1917 | * llvmAsmlex().  If so, then we have to assure | 
|  | 1918 | * consistency between YY_CURRENT_BUFFER and our | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1919 | * globals.  Here is the right place to do so, because | 
|  | 1920 | * this is the first action (other than possibly a | 
|  | 1921 | * back-up) that will match for the new input source. | 
|  | 1922 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1923 | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; | 
|  | 1924 | YY_CURRENT_BUFFER_LVALUE->yy_input_file = llvmAsmin; | 
|  | 1925 | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1926 | } | 
|  | 1927 |  | 
|  | 1928 | /* Note that here we test for yy_c_buf_p "<=" to the position | 
|  | 1929 | * of the first EOB in the buffer, since yy_c_buf_p will | 
|  | 1930 | * already have been incremented past the NUL character | 
|  | 1931 | * (since all states make transitions on EOB to the | 
|  | 1932 | * end-of-buffer state).  Contrast this with the test | 
|  | 1933 | * in input(). | 
|  | 1934 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1935 | if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1936 | { /* This was really a NUL. */ | 
|  | 1937 | yy_state_type yy_next_state; | 
|  | 1938 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1939 | (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1940 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1941 | yy_current_state = yy_get_previous_state(  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1942 |  | 
|  | 1943 | /* Okay, we're now positioned to make the NUL | 
|  | 1944 | * transition.  We couldn't have | 
|  | 1945 | * yy_get_previous_state() go ahead and do it | 
|  | 1946 | * for us because it doesn't know how to deal | 
|  | 1947 | * with the possibility of jamming (and we don't | 
|  | 1948 | * want to build jamming into it because then it | 
|  | 1949 | * will run more slowly). | 
|  | 1950 | */ | 
|  | 1951 |  | 
|  | 1952 | yy_next_state = yy_try_NUL_trans( yy_current_state ); | 
|  | 1953 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1954 | yy_bp = (yytext_ptr) + YY_MORE_ADJ; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1955 |  | 
|  | 1956 | if ( yy_next_state ) | 
|  | 1957 | { | 
|  | 1958 | /* Consume the NUL. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1959 | yy_cp = ++(yy_c_buf_p); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1960 | yy_current_state = yy_next_state; | 
|  | 1961 | goto yy_match; | 
|  | 1962 | } | 
|  | 1963 |  | 
|  | 1964 | else | 
|  | 1965 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1966 | yy_cp = (yy_last_accepting_cpos); | 
|  | 1967 | yy_current_state = (yy_last_accepting_state); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1968 | goto yy_find_action; | 
|  | 1969 | } | 
|  | 1970 | } | 
|  | 1971 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1972 | else switch ( yy_get_next_buffer(  ) ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1973 | { | 
|  | 1974 | case EOB_ACT_END_OF_FILE: | 
|  | 1975 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1976 | (yy_did_buffer_switch_on_eof) = 0; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1977 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1978 | if ( llvmAsmwrap( ) ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1979 | { | 
|  | 1980 | /* Note: because we've taken care in | 
|  | 1981 | * yy_get_next_buffer() to have set up | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1982 | * llvmAsmtext, we can now set up | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1983 | * yy_c_buf_p so that if some total | 
|  | 1984 | * hoser (like flex itself) wants to | 
|  | 1985 | * call the scanner after we return the | 
|  | 1986 | * YY_NULL, it'll still work - another | 
|  | 1987 | * YY_NULL will get returned. | 
|  | 1988 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1989 | (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1990 |  | 
|  | 1991 | yy_act = YY_STATE_EOF(YY_START); | 
|  | 1992 | goto do_action; | 
|  | 1993 | } | 
|  | 1994 |  | 
|  | 1995 | else | 
|  | 1996 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 1997 | if ( ! (yy_did_buffer_switch_on_eof) ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 1998 | YY_NEW_FILE; | 
|  | 1999 | } | 
|  | 2000 | break; | 
|  | 2001 | } | 
|  | 2002 |  | 
|  | 2003 | case EOB_ACT_CONTINUE_SCAN: | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2004 | (yy_c_buf_p) = | 
|  | 2005 | (yytext_ptr) + yy_amount_of_matched_text; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2006 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2007 | yy_current_state = yy_get_previous_state(  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2008 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2009 | yy_cp = (yy_c_buf_p); | 
|  | 2010 | yy_bp = (yytext_ptr) + YY_MORE_ADJ; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2011 | goto yy_match; | 
|  | 2012 |  | 
|  | 2013 | case EOB_ACT_LAST_MATCH: | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2014 | (yy_c_buf_p) = | 
|  | 2015 | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2016 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2017 | yy_current_state = yy_get_previous_state(  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2018 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2019 | yy_cp = (yy_c_buf_p); | 
|  | 2020 | yy_bp = (yytext_ptr) + YY_MORE_ADJ; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2021 | goto yy_find_action; | 
|  | 2022 | } | 
|  | 2023 | break; | 
|  | 2024 | } | 
|  | 2025 |  | 
|  | 2026 | default: | 
|  | 2027 | YY_FATAL_ERROR( | 
|  | 2028 | "fatal flex scanner internal error--no action found" ); | 
|  | 2029 | } /* end of action switch */ | 
|  | 2030 | } /* end of scanning one token */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2031 | } /* end of llvmAsmlex */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2032 |  | 
|  | 2033 | /* yy_get_next_buffer - try to read in a new buffer | 
|  | 2034 | * | 
|  | 2035 | * Returns a code representing an action: | 
|  | 2036 | *	EOB_ACT_LAST_MATCH - | 
|  | 2037 | *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position | 
|  | 2038 | *	EOB_ACT_END_OF_FILE - end of file | 
|  | 2039 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2040 | static int yy_get_next_buffer (void) | 
|  | 2041 | { | 
|  | 2042 | register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; | 
|  | 2043 | register char *source = (yytext_ptr); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2044 | register int number_to_move, i; | 
|  | 2045 | int ret_val; | 
|  | 2046 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2047 | if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2048 | YY_FATAL_ERROR( | 
|  | 2049 | "fatal flex scanner internal error--end of buffer missed" ); | 
|  | 2050 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2051 | if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2052 | { /* Don't try to fill the buffer, so this is an EOF. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2053 | if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2054 | { | 
|  | 2055 | /* We matched a single character, the EOB, so | 
|  | 2056 | * treat this as a final EOF. | 
|  | 2057 | */ | 
|  | 2058 | return EOB_ACT_END_OF_FILE; | 
|  | 2059 | } | 
|  | 2060 |  | 
|  | 2061 | else | 
|  | 2062 | { | 
|  | 2063 | /* We matched some text prior to the EOB, first | 
|  | 2064 | * process it. | 
|  | 2065 | */ | 
|  | 2066 | return EOB_ACT_LAST_MATCH; | 
|  | 2067 | } | 
|  | 2068 | } | 
|  | 2069 |  | 
|  | 2070 | /* Try to read more data. */ | 
|  | 2071 |  | 
|  | 2072 | /* First move last chars to start of buffer. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2073 | number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2074 |  | 
|  | 2075 | for ( i = 0; i < number_to_move; ++i ) | 
|  | 2076 | *(dest++) = *(source++); | 
|  | 2077 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2078 | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2079 | /* don't do the read, it's not guaranteed to return an EOF, | 
|  | 2080 | * just force an EOF | 
|  | 2081 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2082 | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2083 |  | 
|  | 2084 | else | 
|  | 2085 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2086 | int num_to_read = | 
|  | 2087 | YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2088 |  | 
|  | 2089 | while ( num_to_read <= 0 ) | 
|  | 2090 | { /* Not enough room in the buffer - grow it. */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2091 |  | 
|  | 2092 | /* just a shorter name for the current buffer */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2093 | YY_BUFFER_STATE b = YY_CURRENT_BUFFER; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2094 |  | 
|  | 2095 | int yy_c_buf_p_offset = | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2096 | (int) ((yy_c_buf_p) - b->yy_ch_buf); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2097 |  | 
|  | 2098 | if ( b->yy_is_our_buffer ) | 
|  | 2099 | { | 
|  | 2100 | int new_size = b->yy_buf_size * 2; | 
|  | 2101 |  | 
|  | 2102 | if ( new_size <= 0 ) | 
|  | 2103 | b->yy_buf_size += b->yy_buf_size / 8; | 
|  | 2104 | else | 
|  | 2105 | b->yy_buf_size *= 2; | 
|  | 2106 |  | 
|  | 2107 | b->yy_ch_buf = (char *) | 
|  | 2108 | /* Include room in for 2 EOB chars. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2109 | llvmAsmrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2110 | } | 
|  | 2111 | else | 
|  | 2112 | /* Can't grow it, we don't own it. */ | 
|  | 2113 | b->yy_ch_buf = 0; | 
|  | 2114 |  | 
|  | 2115 | if ( ! b->yy_ch_buf ) | 
|  | 2116 | YY_FATAL_ERROR( | 
|  | 2117 | "fatal error - scanner input buffer overflow" ); | 
|  | 2118 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2119 | (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2120 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2121 | num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2122 | number_to_move - 1; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2123 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2124 | } | 
|  | 2125 |  | 
|  | 2126 | if ( num_to_read > YY_READ_BUF_SIZE ) | 
|  | 2127 | num_to_read = YY_READ_BUF_SIZE; | 
|  | 2128 |  | 
|  | 2129 | /* Read in more data. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2130 | YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), | 
|  | 2131 | (yy_n_chars), num_to_read ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2132 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2133 | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2134 | } | 
|  | 2135 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2136 | if ( (yy_n_chars) == 0 ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2137 | { | 
|  | 2138 | if ( number_to_move == YY_MORE_ADJ ) | 
|  | 2139 | { | 
|  | 2140 | ret_val = EOB_ACT_END_OF_FILE; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2141 | llvmAsmrestart(llvmAsmin  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2142 | } | 
|  | 2143 |  | 
|  | 2144 | else | 
|  | 2145 | { | 
|  | 2146 | ret_val = EOB_ACT_LAST_MATCH; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2147 | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2148 | YY_BUFFER_EOF_PENDING; | 
|  | 2149 | } | 
|  | 2150 | } | 
|  | 2151 |  | 
|  | 2152 | else | 
|  | 2153 | ret_val = EOB_ACT_CONTINUE_SCAN; | 
|  | 2154 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2155 | (yy_n_chars) += number_to_move; | 
|  | 2156 | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; | 
|  | 2157 | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2158 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2159 | (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2160 |  | 
|  | 2161 | return ret_val; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2162 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2163 |  | 
|  | 2164 | /* yy_get_previous_state - get the state just before the EOB char was reached */ | 
|  | 2165 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2166 | static yy_state_type yy_get_previous_state (void) | 
|  | 2167 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2168 | register yy_state_type yy_current_state; | 
|  | 2169 | register char *yy_cp; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2170 |  | 
|  | 2171 | yy_current_state = (yy_start); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2172 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2173 | for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2174 | { | 
|  | 2175 | register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2176 | if ( yy_accept[yy_current_state] ) | 
|  | 2177 | { | 
|  | 2178 | (yy_last_accepting_state) = yy_current_state; | 
|  | 2179 | (yy_last_accepting_cpos) = yy_cp; | 
|  | 2180 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2181 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | 
|  | 2182 | { | 
|  | 2183 | yy_current_state = (int) yy_def[yy_current_state]; | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 2184 | if ( yy_current_state >= 501 ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2185 | yy_c = yy_meta[(unsigned int) yy_c]; | 
|  | 2186 | } | 
|  | 2187 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2188 | } | 
|  | 2189 |  | 
|  | 2190 | return yy_current_state; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2191 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2192 |  | 
|  | 2193 | /* yy_try_NUL_trans - try to make a transition on the NUL character | 
|  | 2194 | * | 
|  | 2195 | * synopsis | 
|  | 2196 | *	next_state = yy_try_NUL_trans( current_state ); | 
|  | 2197 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2198 | static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state ) | 
|  | 2199 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2200 | register int yy_is_jam; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2201 | register char *yy_cp = (yy_c_buf_p); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2202 |  | 
|  | 2203 | register YY_CHAR yy_c = 1; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2204 | if ( yy_accept[yy_current_state] ) | 
|  | 2205 | { | 
|  | 2206 | (yy_last_accepting_state) = yy_current_state; | 
|  | 2207 | (yy_last_accepting_cpos) = yy_cp; | 
|  | 2208 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2209 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) | 
|  | 2210 | { | 
|  | 2211 | yy_current_state = (int) yy_def[yy_current_state]; | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 2212 | if ( yy_current_state >= 501 ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2213 | yy_c = yy_meta[(unsigned int) yy_c]; | 
|  | 2214 | } | 
|  | 2215 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 2216 | yy_is_jam = (yy_current_state == 500); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2217 |  | 
|  | 2218 | return yy_is_jam ? 0 : yy_current_state; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2219 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2220 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2221 | static inline void yyunput (int c, register char * yy_bp ) | 
|  | 2222 | { | 
|  | 2223 | register char *yy_cp; | 
|  | 2224 |  | 
|  | 2225 | yy_cp = (yy_c_buf_p); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2226 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2227 | /* undo effects of setting up llvmAsmtext */ | 
|  | 2228 | *yy_cp = (yy_hold_char); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2229 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2230 | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2231 | { /* need to shift things up to make room */ | 
|  | 2232 | /* +2 for EOB chars. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2233 | register int number_to_move = (yy_n_chars) + 2; | 
|  | 2234 | register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ | 
|  | 2235 | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2236 | register char *source = | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2237 | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2238 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2239 | while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2240 | *--dest = *--source; | 
|  | 2241 |  | 
|  | 2242 | yy_cp += (int) (dest - source); | 
|  | 2243 | yy_bp += (int) (dest - source); | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2244 | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = | 
|  | 2245 | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2246 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2247 | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2248 | YY_FATAL_ERROR( "flex scanner push-back overflow" ); | 
|  | 2249 | } | 
|  | 2250 |  | 
|  | 2251 | *--yy_cp = (char) c; | 
|  | 2252 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2253 | if ( c == '\n' ){ | 
|  | 2254 | --llvmAsmlineno; | 
|  | 2255 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2256 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2257 | (yytext_ptr) = yy_bp; | 
|  | 2258 | (yy_hold_char) = *yy_cp; | 
|  | 2259 | (yy_c_buf_p) = yy_cp; | 
|  | 2260 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2261 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2262 | #ifndef YY_NO_INPUT | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2263 | #ifdef __cplusplus | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2264 | static int yyinput (void) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2265 | #else | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2266 | static int input  (void) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2267 | #endif | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2268 |  | 
|  | 2269 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2270 | int c; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2271 |  | 
|  | 2272 | *(yy_c_buf_p) = (yy_hold_char); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2273 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2274 | if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2275 | { | 
|  | 2276 | /* yy_c_buf_p now points to the character we want to return. | 
|  | 2277 | * If this occurs *before* the EOB characters, then it's a | 
|  | 2278 | * valid NUL; if not, then we've hit the end of the buffer. | 
|  | 2279 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2280 | if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2281 | /* This was really a NUL. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2282 | *(yy_c_buf_p) = '\0'; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2283 |  | 
|  | 2284 | else | 
|  | 2285 | { /* need more input */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2286 | int offset = (yy_c_buf_p) - (yytext_ptr); | 
|  | 2287 | ++(yy_c_buf_p); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2288 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2289 | switch ( yy_get_next_buffer(  ) ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2290 | { | 
|  | 2291 | case EOB_ACT_LAST_MATCH: | 
|  | 2292 | /* This happens because yy_g_n_b() | 
|  | 2293 | * sees that we've accumulated a | 
|  | 2294 | * token and flags that we need to | 
|  | 2295 | * try matching the token before | 
|  | 2296 | * proceeding.  But for input(), | 
|  | 2297 | * there's no matching to consider. | 
|  | 2298 | * So convert the EOB_ACT_LAST_MATCH | 
|  | 2299 | * to EOB_ACT_END_OF_FILE. | 
|  | 2300 | */ | 
|  | 2301 |  | 
|  | 2302 | /* Reset buffer status. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2303 | llvmAsmrestart(llvmAsmin ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2304 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2305 | /*FALLTHROUGH*/ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2306 |  | 
|  | 2307 | case EOB_ACT_END_OF_FILE: | 
|  | 2308 | { | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2309 | if ( llvmAsmwrap( ) ) | 
| Reid Spencer | 713eedc | 2006-08-18 08:43:06 +0000 | [diff] [blame] | 2310 | return EOF; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2311 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2312 | if ( ! (yy_did_buffer_switch_on_eof) ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2313 | YY_NEW_FILE; | 
|  | 2314 | #ifdef __cplusplus | 
|  | 2315 | return yyinput(); | 
|  | 2316 | #else | 
|  | 2317 | return input(); | 
|  | 2318 | #endif | 
|  | 2319 | } | 
|  | 2320 |  | 
|  | 2321 | case EOB_ACT_CONTINUE_SCAN: | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2322 | (yy_c_buf_p) = (yytext_ptr) + offset; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2323 | break; | 
|  | 2324 | } | 
|  | 2325 | } | 
|  | 2326 | } | 
|  | 2327 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2328 | c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */ | 
|  | 2329 | *(yy_c_buf_p) = '\0';	/* preserve llvmAsmtext */ | 
|  | 2330 | (yy_hold_char) = *++(yy_c_buf_p); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2331 |  | 
|  | 2332 | if ( c == '\n' ) | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2333 |  | 
|  | 2334 | llvmAsmlineno++; | 
|  | 2335 | ; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2336 |  | 
|  | 2337 | return c; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2338 | } | 
|  | 2339 | #endif	/* ifndef YY_NO_INPUT */ | 
|  | 2340 |  | 
|  | 2341 | /** Immediately switch to a different input stream. | 
|  | 2342 | * @param input_file A readable stream. | 
|  | 2343 | * | 
|  | 2344 | * @note This function does not reset the start condition to @c INITIAL . | 
|  | 2345 | */ | 
|  | 2346 | void llvmAsmrestart  (FILE * input_file ) | 
|  | 2347 | { | 
|  | 2348 |  | 
|  | 2349 | if ( ! YY_CURRENT_BUFFER ){ | 
|  | 2350 | llvmAsmensure_buffer_stack (); | 
|  | 2351 | YY_CURRENT_BUFFER_LVALUE = | 
|  | 2352 | llvmAsm_create_buffer(llvmAsmin,YY_BUF_SIZE ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2353 | } | 
| Chris Lattner | 680aab6 | 2006-08-18 17:34:45 +0000 | [diff] [blame] | 2354 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2355 | llvmAsm_init_buffer(YY_CURRENT_BUFFER,input_file ); | 
|  | 2356 | llvmAsm_load_buffer_state( ); | 
|  | 2357 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2358 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2359 | /** Switch to a different input buffer. | 
|  | 2360 | * @param new_buffer The new input buffer. | 
|  | 2361 | * | 
|  | 2362 | */ | 
|  | 2363 | void llvmAsm_switch_to_buffer  (YY_BUFFER_STATE  new_buffer ) | 
|  | 2364 | { | 
|  | 2365 |  | 
|  | 2366 | /* TODO. We should be able to replace this entire function body | 
|  | 2367 | * with | 
|  | 2368 | *		llvmAsmpop_buffer_state(); | 
|  | 2369 | *		llvmAsmpush_buffer_state(new_buffer); | 
|  | 2370 | */ | 
|  | 2371 | llvmAsmensure_buffer_stack (); | 
|  | 2372 | if ( YY_CURRENT_BUFFER == new_buffer ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2373 | return; | 
|  | 2374 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2375 | if ( YY_CURRENT_BUFFER ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2376 | { | 
|  | 2377 | /* Flush out information for old buffer. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2378 | *(yy_c_buf_p) = (yy_hold_char); | 
|  | 2379 | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); | 
|  | 2380 | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2381 | } | 
|  | 2382 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2383 | YY_CURRENT_BUFFER_LVALUE = new_buffer; | 
|  | 2384 | llvmAsm_load_buffer_state( ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2385 |  | 
|  | 2386 | /* We don't actually know whether we did this switch during | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2387 | * EOF (llvmAsmwrap()) processing, but the only time this flag | 
|  | 2388 | * is looked at is after llvmAsmwrap() is called, so it's safe | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2389 | * to go ahead and always set it. | 
|  | 2390 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2391 | (yy_did_buffer_switch_on_eof) = 1; | 
|  | 2392 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2393 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2394 | static void llvmAsm_load_buffer_state  (void) | 
|  | 2395 | { | 
|  | 2396 | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; | 
|  | 2397 | (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; | 
|  | 2398 | llvmAsmin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; | 
|  | 2399 | (yy_hold_char) = *(yy_c_buf_p); | 
|  | 2400 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2401 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2402 | /** Allocate and initialize an input buffer state. | 
|  | 2403 | * @param file A readable stream. | 
|  | 2404 | * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. | 
|  | 2405 | * | 
|  | 2406 | * @return the allocated buffer state. | 
|  | 2407 | */ | 
|  | 2408 | YY_BUFFER_STATE llvmAsm_create_buffer  (FILE * file, int  size ) | 
|  | 2409 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2410 | YY_BUFFER_STATE b; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2411 |  | 
|  | 2412 | b = (YY_BUFFER_STATE) llvmAsmalloc(sizeof( struct yy_buffer_state )  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2413 | if ( ! b ) | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2414 | YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_create_buffer()" ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2415 |  | 
|  | 2416 | b->yy_buf_size = size; | 
|  | 2417 |  | 
|  | 2418 | /* yy_ch_buf has to be 2 characters longer than the size given because | 
|  | 2419 | * we need to put in 2 end-of-buffer characters. | 
|  | 2420 | */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2421 | b->yy_ch_buf = (char *) llvmAsmalloc(b->yy_buf_size + 2  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2422 | if ( ! b->yy_ch_buf ) | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2423 | YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_create_buffer()" ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2424 |  | 
|  | 2425 | b->yy_is_our_buffer = 1; | 
|  | 2426 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2427 | llvmAsm_init_buffer(b,file ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2428 |  | 
|  | 2429 | return b; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2430 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2431 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2432 | /** Destroy the buffer. | 
|  | 2433 | * @param b a buffer created with llvmAsm_create_buffer() | 
|  | 2434 | * | 
|  | 2435 | */ | 
|  | 2436 | void llvmAsm_delete_buffer (YY_BUFFER_STATE  b ) | 
|  | 2437 | { | 
|  | 2438 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2439 | if ( ! b ) | 
|  | 2440 | return; | 
|  | 2441 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2442 | if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ | 
|  | 2443 | YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2444 |  | 
|  | 2445 | if ( b->yy_is_our_buffer ) | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2446 | llvmAsmfree((void *) b->yy_ch_buf  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2447 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2448 | llvmAsmfree((void *) b  ); | 
|  | 2449 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2450 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2451 | /* Initializes or reinitializes a buffer. | 
|  | 2452 | * This function is sometimes called more than once on the same buffer, | 
|  | 2453 | * such as during a llvmAsmrestart() or at EOF. | 
|  | 2454 | */ | 
|  | 2455 | static void llvmAsm_init_buffer  (YY_BUFFER_STATE  b, FILE * file ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2456 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2457 | { | 
|  | 2458 | int oerrno = errno; | 
|  | 2459 |  | 
|  | 2460 | llvmAsm_flush_buffer(b ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2461 |  | 
|  | 2462 | b->yy_input_file = file; | 
|  | 2463 | b->yy_fill_buffer = 1; | 
|  | 2464 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2465 | /* If b is the current buffer, then llvmAsm_init_buffer was _probably_ | 
|  | 2466 | * called from llvmAsmrestart() or through yy_get_next_buffer. | 
|  | 2467 | * In that case, we don't want to reset the lineno or column. | 
|  | 2468 | */ | 
|  | 2469 | if (b != YY_CURRENT_BUFFER){ | 
|  | 2470 | b->yy_bs_lineno = 1; | 
|  | 2471 | b->yy_bs_column = 0; | 
|  | 2472 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2473 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2474 | b->yy_is_interactive = 0; | 
|  | 2475 |  | 
|  | 2476 | errno = oerrno; | 
|  | 2477 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2478 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2479 | /** Discard all buffered characters. On the next scan, YY_INPUT will be called. | 
|  | 2480 | * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. | 
|  | 2481 | * | 
|  | 2482 | */ | 
|  | 2483 | void llvmAsm_flush_buffer (YY_BUFFER_STATE  b ) | 
|  | 2484 | { | 
|  | 2485 | if ( ! b ) | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2486 | return; | 
|  | 2487 |  | 
|  | 2488 | b->yy_n_chars = 0; | 
|  | 2489 |  | 
|  | 2490 | /* We always need two end-of-buffer characters.  The first causes | 
|  | 2491 | * a transition to the end-of-buffer state.  The second causes | 
|  | 2492 | * a jam in that state. | 
|  | 2493 | */ | 
|  | 2494 | b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; | 
|  | 2495 | b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; | 
|  | 2496 |  | 
|  | 2497 | b->yy_buf_pos = &b->yy_ch_buf[0]; | 
|  | 2498 |  | 
|  | 2499 | b->yy_at_bol = 1; | 
|  | 2500 | b->yy_buffer_status = YY_BUFFER_NEW; | 
|  | 2501 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2502 | if ( b == YY_CURRENT_BUFFER ) | 
|  | 2503 | llvmAsm_load_buffer_state( ); | 
|  | 2504 | } | 
|  | 2505 |  | 
|  | 2506 | /** Pushes the new state onto the stack. The new state becomes | 
|  | 2507 | *  the current state. This function will allocate the stack | 
|  | 2508 | *  if necessary. | 
|  | 2509 | *  @param new_buffer The new state. | 
|  | 2510 | * | 
|  | 2511 | */ | 
|  | 2512 | void llvmAsmpush_buffer_state (YY_BUFFER_STATE new_buffer ) | 
|  | 2513 | { | 
|  | 2514 | if (new_buffer == NULL) | 
|  | 2515 | return; | 
|  | 2516 |  | 
|  | 2517 | llvmAsmensure_buffer_stack(); | 
|  | 2518 |  | 
|  | 2519 | /* This block is copied from llvmAsm_switch_to_buffer. */ | 
|  | 2520 | if ( YY_CURRENT_BUFFER ) | 
|  | 2521 | { | 
|  | 2522 | /* Flush out information for old buffer. */ | 
|  | 2523 | *(yy_c_buf_p) = (yy_hold_char); | 
|  | 2524 | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); | 
|  | 2525 | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); | 
|  | 2526 | } | 
|  | 2527 |  | 
|  | 2528 | /* Only push if top exists. Otherwise, replace top. */ | 
|  | 2529 | if (YY_CURRENT_BUFFER) | 
|  | 2530 | (yy_buffer_stack_top)++; | 
|  | 2531 | YY_CURRENT_BUFFER_LVALUE = new_buffer; | 
|  | 2532 |  | 
|  | 2533 | /* copied from llvmAsm_switch_to_buffer. */ | 
|  | 2534 | llvmAsm_load_buffer_state( ); | 
|  | 2535 | (yy_did_buffer_switch_on_eof) = 1; | 
|  | 2536 | } | 
|  | 2537 |  | 
|  | 2538 | /** Removes and deletes the top of the stack, if present. | 
|  | 2539 | *  The next element becomes the new top. | 
|  | 2540 | * | 
|  | 2541 | */ | 
|  | 2542 | void llvmAsmpop_buffer_state (void) | 
|  | 2543 | { | 
|  | 2544 | if (!YY_CURRENT_BUFFER) | 
|  | 2545 | return; | 
|  | 2546 |  | 
|  | 2547 | llvmAsm_delete_buffer(YY_CURRENT_BUFFER ); | 
|  | 2548 | YY_CURRENT_BUFFER_LVALUE = NULL; | 
|  | 2549 | if ((yy_buffer_stack_top) > 0) | 
|  | 2550 | --(yy_buffer_stack_top); | 
|  | 2551 |  | 
|  | 2552 | if (YY_CURRENT_BUFFER) { | 
|  | 2553 | llvmAsm_load_buffer_state( ); | 
|  | 2554 | (yy_did_buffer_switch_on_eof) = 1; | 
|  | 2555 | } | 
|  | 2556 | } | 
|  | 2557 |  | 
|  | 2558 | /* Allocates the stack if it does not exist. | 
|  | 2559 | *  Guarantees space for at least one push. | 
|  | 2560 | */ | 
|  | 2561 | static void llvmAsmensure_buffer_stack (void) | 
|  | 2562 | { | 
|  | 2563 | int num_to_alloc; | 
|  | 2564 |  | 
|  | 2565 | if (!(yy_buffer_stack)) { | 
|  | 2566 |  | 
|  | 2567 | /* First allocation is just for 2 elements, since we don't know if this | 
|  | 2568 | * scanner will even need a stack. We use 2 instead of 1 to avoid an | 
|  | 2569 | * immediate realloc on the next call. | 
|  | 2570 | */ | 
|  | 2571 | num_to_alloc = 1; | 
|  | 2572 | (yy_buffer_stack) = (struct yy_buffer_state**)llvmAsmalloc | 
|  | 2573 | (num_to_alloc * sizeof(struct yy_buffer_state*) | 
|  | 2574 | ); | 
|  | 2575 |  | 
|  | 2576 | memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); | 
|  | 2577 |  | 
|  | 2578 | (yy_buffer_stack_max) = num_to_alloc; | 
|  | 2579 | (yy_buffer_stack_top) = 0; | 
|  | 2580 | return; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2581 | } | 
|  | 2582 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2583 | if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2584 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2585 | /* Increase the buffer to prepare for a possible push. */ | 
|  | 2586 | int grow_size = 8 /* arbitrary grow size */; | 
|  | 2587 |  | 
|  | 2588 | num_to_alloc = (yy_buffer_stack_max) + grow_size; | 
|  | 2589 | (yy_buffer_stack) = (struct yy_buffer_state**)llvmAsmrealloc | 
|  | 2590 | ((yy_buffer_stack), | 
|  | 2591 | num_to_alloc * sizeof(struct yy_buffer_state*) | 
|  | 2592 | ); | 
|  | 2593 |  | 
|  | 2594 | /* zero only the new slots.*/ | 
|  | 2595 | memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); | 
|  | 2596 | (yy_buffer_stack_max) = num_to_alloc; | 
|  | 2597 | } | 
|  | 2598 | } | 
|  | 2599 |  | 
|  | 2600 | /** Setup the input buffer state to scan directly from a user-specified character buffer. | 
|  | 2601 | * @param base the character buffer | 
|  | 2602 | * @param size the size in bytes of the character buffer | 
|  | 2603 | * | 
|  | 2604 | * @return the newly allocated buffer state object. | 
|  | 2605 | */ | 
|  | 2606 | YY_BUFFER_STATE llvmAsm_scan_buffer  (char * base, yy_size_t  size ) | 
|  | 2607 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2608 | YY_BUFFER_STATE b; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2609 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2610 | if ( size < 2 || | 
|  | 2611 | base[size-2] != YY_END_OF_BUFFER_CHAR || | 
|  | 2612 | base[size-1] != YY_END_OF_BUFFER_CHAR ) | 
|  | 2613 | /* They forgot to leave room for the EOB's. */ | 
|  | 2614 | return 0; | 
|  | 2615 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2616 | b = (YY_BUFFER_STATE) llvmAsmalloc(sizeof( struct yy_buffer_state )  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2617 | if ( ! b ) | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2618 | YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_scan_buffer()" ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2619 |  | 
|  | 2620 | b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */ | 
|  | 2621 | b->yy_buf_pos = b->yy_ch_buf = base; | 
|  | 2622 | b->yy_is_our_buffer = 0; | 
|  | 2623 | b->yy_input_file = 0; | 
|  | 2624 | b->yy_n_chars = b->yy_buf_size; | 
|  | 2625 | b->yy_is_interactive = 0; | 
|  | 2626 | b->yy_at_bol = 1; | 
|  | 2627 | b->yy_fill_buffer = 0; | 
|  | 2628 | b->yy_buffer_status = YY_BUFFER_NEW; | 
|  | 2629 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2630 | llvmAsm_switch_to_buffer(b  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2631 |  | 
|  | 2632 | return b; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2633 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2634 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2635 | /** Setup the input buffer state to scan a string. The next call to llvmAsmlex() will | 
|  | 2636 | * scan from a @e copy of @a str. | 
|  | 2637 | * @param str a NUL-terminated string to scan | 
|  | 2638 | * | 
|  | 2639 | * @return the newly allocated buffer state object. | 
|  | 2640 | * @note If you want to scan bytes that may contain NUL values, then use | 
|  | 2641 | *       llvmAsm_scan_bytes() instead. | 
|  | 2642 | */ | 
|  | 2643 | YY_BUFFER_STATE llvmAsm_scan_string (yyconst char * yystr ) | 
|  | 2644 | { | 
|  | 2645 |  | 
|  | 2646 | return llvmAsm_scan_bytes(yystr,strlen(yystr) ); | 
|  | 2647 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2648 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2649 | /** Setup the input buffer state to scan the given bytes. The next call to llvmAsmlex() will | 
|  | 2650 | * scan from a @e copy of @a bytes. | 
|  | 2651 | * @param bytes the byte buffer to scan | 
|  | 2652 | * @param len the number of bytes in the buffer pointed to by @a bytes. | 
|  | 2653 | * | 
|  | 2654 | * @return the newly allocated buffer state object. | 
|  | 2655 | */ | 
|  | 2656 | YY_BUFFER_STATE llvmAsm_scan_bytes  (yyconst char * yybytes, int  _yybytes_len ) | 
|  | 2657 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2658 | YY_BUFFER_STATE b; | 
|  | 2659 | char *buf; | 
|  | 2660 | yy_size_t n; | 
|  | 2661 | int i; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2662 |  | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2663 | /* Get memory for full buffer, including space for trailing EOB's. */ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2664 | n = _yybytes_len + 2; | 
|  | 2665 | buf = (char *) llvmAsmalloc(n  ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2666 | if ( ! buf ) | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2667 | YY_FATAL_ERROR( "out of dynamic memory in llvmAsm_scan_bytes()" ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2668 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2669 | for ( i = 0; i < _yybytes_len; ++i ) | 
|  | 2670 | buf[i] = yybytes[i]; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2671 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2672 | buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2673 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2674 | b = llvmAsm_scan_buffer(buf,n ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2675 | if ( ! b ) | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2676 | YY_FATAL_ERROR( "bad buffer in llvmAsm_scan_bytes()" ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2677 |  | 
|  | 2678 | /* It's okay to grow etc. this buffer, and we should throw it | 
|  | 2679 | * away when we're done. | 
|  | 2680 | */ | 
|  | 2681 | b->yy_is_our_buffer = 1; | 
|  | 2682 |  | 
|  | 2683 | return b; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2684 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2685 |  | 
|  | 2686 | #ifndef YY_EXIT_FAILURE | 
|  | 2687 | #define YY_EXIT_FAILURE 2 | 
|  | 2688 | #endif | 
|  | 2689 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2690 | static void yy_fatal_error (yyconst char* msg ) | 
|  | 2691 | { | 
|  | 2692 | (void) fprintf( stderr, "%s\n", msg ); | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2693 | exit( YY_EXIT_FAILURE ); | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2694 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2695 |  | 
|  | 2696 | /* Redefine yyless() so it works in section 3 code. */ | 
|  | 2697 |  | 
|  | 2698 | #undef yyless | 
|  | 2699 | #define yyless(n) \ | 
|  | 2700 | do \ | 
|  | 2701 | { \ | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2702 | /* Undo effects of setting up llvmAsmtext. */ \ | 
|  | 2703 | int yyless_macro_arg = (n); \ | 
|  | 2704 | YY_LESS_LINENO(yyless_macro_arg);\ | 
|  | 2705 | llvmAsmtext[llvmAsmleng] = (yy_hold_char); \ | 
|  | 2706 | (yy_c_buf_p) = llvmAsmtext + yyless_macro_arg; \ | 
|  | 2707 | (yy_hold_char) = *(yy_c_buf_p); \ | 
|  | 2708 | *(yy_c_buf_p) = '\0'; \ | 
|  | 2709 | llvmAsmleng = yyless_macro_arg; \ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2710 | } \ | 
|  | 2711 | while ( 0 ) | 
|  | 2712 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2713 | /* Accessor  methods (get/set functions) to struct members. */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2714 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2715 | /** Get the current line number. | 
|  | 2716 | * | 
|  | 2717 | */ | 
|  | 2718 | int llvmAsmget_lineno  (void) | 
|  | 2719 | { | 
|  | 2720 |  | 
|  | 2721 | return llvmAsmlineno; | 
|  | 2722 | } | 
|  | 2723 |  | 
|  | 2724 | /** Get the input stream. | 
|  | 2725 | * | 
|  | 2726 | */ | 
|  | 2727 | FILE *llvmAsmget_in  (void) | 
|  | 2728 | { | 
|  | 2729 | return llvmAsmin; | 
|  | 2730 | } | 
|  | 2731 |  | 
|  | 2732 | /** Get the output stream. | 
|  | 2733 | * | 
|  | 2734 | */ | 
|  | 2735 | FILE *llvmAsmget_out  (void) | 
|  | 2736 | { | 
|  | 2737 | return llvmAsmout; | 
|  | 2738 | } | 
|  | 2739 |  | 
|  | 2740 | /** Get the length of the current token. | 
|  | 2741 | * | 
|  | 2742 | */ | 
|  | 2743 | int llvmAsmget_leng  (void) | 
|  | 2744 | { | 
|  | 2745 | return llvmAsmleng; | 
|  | 2746 | } | 
|  | 2747 |  | 
|  | 2748 | /** Get the current token. | 
|  | 2749 | * | 
|  | 2750 | */ | 
|  | 2751 |  | 
|  | 2752 | char *llvmAsmget_text  (void) | 
|  | 2753 | { | 
|  | 2754 | return llvmAsmtext; | 
|  | 2755 | } | 
|  | 2756 |  | 
|  | 2757 | /** Set the current line number. | 
|  | 2758 | * @param line_number | 
|  | 2759 | * | 
|  | 2760 | */ | 
|  | 2761 | void llvmAsmset_lineno (int  line_number ) | 
|  | 2762 | { | 
|  | 2763 |  | 
|  | 2764 | llvmAsmlineno = line_number; | 
|  | 2765 | } | 
|  | 2766 |  | 
|  | 2767 | /** Set the input stream. This does not discard the current | 
|  | 2768 | * input buffer. | 
|  | 2769 | * @param in_str A readable stream. | 
|  | 2770 | * | 
|  | 2771 | * @see llvmAsm_switch_to_buffer | 
|  | 2772 | */ | 
|  | 2773 | void llvmAsmset_in (FILE *  in_str ) | 
|  | 2774 | { | 
|  | 2775 | llvmAsmin = in_str ; | 
|  | 2776 | } | 
|  | 2777 |  | 
|  | 2778 | void llvmAsmset_out (FILE *  out_str ) | 
|  | 2779 | { | 
|  | 2780 | llvmAsmout = out_str ; | 
|  | 2781 | } | 
|  | 2782 |  | 
|  | 2783 | int llvmAsmget_debug  (void) | 
|  | 2784 | { | 
|  | 2785 | return llvmAsm_flex_debug; | 
|  | 2786 | } | 
|  | 2787 |  | 
|  | 2788 | void llvmAsmset_debug (int  bdebug ) | 
|  | 2789 | { | 
|  | 2790 | llvmAsm_flex_debug = bdebug ; | 
|  | 2791 | } | 
|  | 2792 |  | 
|  | 2793 | static int yy_init_globals (void) | 
|  | 2794 | { | 
|  | 2795 | /* Initialization is the same as for the non-reentrant scanner. | 
|  | 2796 | * This function is called from llvmAsmlex_destroy(), so don't allocate here. | 
|  | 2797 | */ | 
|  | 2798 |  | 
|  | 2799 | /* We do not touch llvmAsmlineno unless the option is enabled. */ | 
|  | 2800 | llvmAsmlineno =  1; | 
|  | 2801 |  | 
|  | 2802 | (yy_buffer_stack) = 0; | 
|  | 2803 | (yy_buffer_stack_top) = 0; | 
|  | 2804 | (yy_buffer_stack_max) = 0; | 
|  | 2805 | (yy_c_buf_p) = (char *) 0; | 
|  | 2806 | (yy_init) = 0; | 
|  | 2807 | (yy_start) = 0; | 
|  | 2808 |  | 
|  | 2809 | /* Defined in main.c */ | 
|  | 2810 | #ifdef YY_STDINIT | 
|  | 2811 | llvmAsmin = stdin; | 
|  | 2812 | llvmAsmout = stdout; | 
|  | 2813 | #else | 
|  | 2814 | llvmAsmin = (FILE *) 0; | 
|  | 2815 | llvmAsmout = (FILE *) 0; | 
|  | 2816 | #endif | 
|  | 2817 |  | 
|  | 2818 | /* For future reference: Set errno on error, since we are called by | 
|  | 2819 | * llvmAsmlex_init() | 
|  | 2820 | */ | 
|  | 2821 | return 0; | 
|  | 2822 | } | 
|  | 2823 |  | 
|  | 2824 | /* llvmAsmlex_destroy is for both reentrant and non-reentrant scanners. */ | 
|  | 2825 | int llvmAsmlex_destroy  (void) | 
|  | 2826 | { | 
|  | 2827 |  | 
|  | 2828 | /* Pop the buffer stack, destroying each element. */ | 
|  | 2829 | while(YY_CURRENT_BUFFER){ | 
|  | 2830 | llvmAsm_delete_buffer(YY_CURRENT_BUFFER  ); | 
|  | 2831 | YY_CURRENT_BUFFER_LVALUE = NULL; | 
|  | 2832 | llvmAsmpop_buffer_state(); | 
|  | 2833 | } | 
|  | 2834 |  | 
|  | 2835 | /* Destroy the stack itself. */ | 
|  | 2836 | llvmAsmfree((yy_buffer_stack) ); | 
|  | 2837 | (yy_buffer_stack) = NULL; | 
|  | 2838 |  | 
|  | 2839 | /* Reset the globals. This is important in a non-reentrant scanner so the next time | 
|  | 2840 | * llvmAsmlex() is called, initialization will occur. */ | 
|  | 2841 | yy_init_globals( ); | 
|  | 2842 |  | 
|  | 2843 | return 0; | 
|  | 2844 | } | 
|  | 2845 |  | 
|  | 2846 | /* | 
|  | 2847 | * Internal utility routines. | 
|  | 2848 | */ | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2849 |  | 
|  | 2850 | #ifndef yytext_ptr | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2851 | static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) | 
|  | 2852 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2853 | register int i; | 
|  | 2854 | for ( i = 0; i < n; ++i ) | 
|  | 2855 | s1[i] = s2[i]; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2856 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2857 | #endif | 
|  | 2858 |  | 
|  | 2859 | #ifdef YY_NEED_STRLEN | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2860 | static int yy_flex_strlen (yyconst char * s ) | 
|  | 2861 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2862 | register int n; | 
|  | 2863 | for ( n = 0; s[n]; ++n ) | 
|  | 2864 | ; | 
|  | 2865 |  | 
|  | 2866 | return n; | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2867 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2868 | #endif | 
|  | 2869 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2870 | void *llvmAsmalloc (yy_size_t  size ) | 
|  | 2871 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2872 | return (void *) malloc( size ); | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2873 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2874 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2875 | void *llvmAsmrealloc  (void * ptr, yy_size_t  size ) | 
|  | 2876 | { | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2877 | /* The cast to (char *) in the following accommodates both | 
|  | 2878 | * implementations that use char* generic pointers, and those | 
|  | 2879 | * that use void* generic pointers.  It works with the latter | 
|  | 2880 | * because both ANSI C and C++ allow castless assignment from | 
|  | 2881 | * any pointer type to void*, and deal with argument conversions | 
|  | 2882 | * as though doing an assignment. | 
|  | 2883 | */ | 
|  | 2884 | return (void *) realloc( (char *) ptr, size ); | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2885 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2886 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2887 | void llvmAsmfree (void * ptr ) | 
|  | 2888 | { | 
|  | 2889 | free( (char *) ptr );	/* see llvmAsmrealloc() for (char *) cast */ | 
|  | 2890 | } | 
| Reid Spencer | dfb3fb4 | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2891 |  | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2892 | #define YYTABLES_NAME "yytables" | 
|  | 2893 |  | 
| Anton Korobeynikov | 6f7072c | 2006-09-17 20:25:45 +0000 | [diff] [blame] | 2894 | #line 362 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l" | 
| Anton Korobeynikov | 73441cd | 2006-09-14 18:25:26 +0000 | [diff] [blame] | 2895 |  | 
|  | 2896 |  | 
| Chris Lattner | 7edc872 | 2006-02-15 07:02:59 +0000 | [diff] [blame] | 2897 |  |