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