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