New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
fortran.yy.c in tags/nemo_v3/AGRIF/LIB – NEMO

source: tags/nemo_v3/AGRIF/LIB/fortran.yy.c @ 4624

Last change on this file since 4624 was 1200, checked in by rblod, 16 years ago

Adapt Agrif to the new SBC and correct several bugs for agrif (restart writing and reading), see ticket #133
Note : this fix does not work yet on NEC computerq (sxf90/360)

  • Property svn:eol-style set to native
File size: 140.8 KB
Line 
1#line 2 "fortran.yy.c"
2
3#line 4 "fortran.yy.c"
4
5#define  YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
8
9#define FLEX_SCANNER
10#define YY_FLEX_MAJOR_VERSION 2
11#define YY_FLEX_MINOR_VERSION 5
12#define YY_FLEX_SUBMINOR_VERSION 33
13#if YY_FLEX_SUBMINOR_VERSION > 0
14#define FLEX_BETA
15#endif
16
17/* First, we deal with  platform-specific or compiler-specific issues. */
18
19/* begin standard C headers. */
20#include <stdio.h>
21#include <string.h>
22#include <errno.h>
23#include <stdlib.h>
24
25/* end standard C headers. */
26
27/* flex integer type definitions */
28
29#ifndef FLEXINT_H
30#define FLEXINT_H
31
32/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34#if __STDC_VERSION__ >= 199901L
35
36/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37 * if you want the limit (max/min) macros for int types.
38 */
39#ifndef __STDC_LIMIT_MACROS
40#define __STDC_LIMIT_MACROS 1
41#endif
42
43#include <inttypes.h>
44typedef int8_t flex_int8_t;
45typedef uint8_t flex_uint8_t;
46typedef int16_t flex_int16_t;
47typedef uint16_t flex_uint16_t;
48typedef int32_t flex_int32_t;
49typedef uint32_t flex_uint32_t;
50#else
51typedef signed char flex_int8_t;
52typedef short int flex_int16_t;
53typedef int flex_int32_t;
54typedef unsigned char flex_uint8_t; 
55typedef unsigned short int flex_uint16_t;
56typedef unsigned int flex_uint32_t;
57#endif /* ! C99 */
58
59/* Limits of integral types. */
60#ifndef INT8_MIN
61#define INT8_MIN               (-128)
62#endif
63#ifndef INT16_MIN
64#define INT16_MIN              (-32767-1)
65#endif
66#ifndef INT32_MIN
67#define INT32_MIN              (-2147483647-1)
68#endif
69#ifndef INT8_MAX
70#define INT8_MAX               (127)
71#endif
72#ifndef INT16_MAX
73#define INT16_MAX              (32767)
74#endif
75#ifndef INT32_MAX
76#define INT32_MAX              (2147483647)
77#endif
78#ifndef UINT8_MAX
79#define UINT8_MAX              (255U)
80#endif
81#ifndef UINT16_MAX
82#define UINT16_MAX             (65535U)
83#endif
84#ifndef UINT32_MAX
85#define UINT32_MAX             (4294967295U)
86#endif
87
88#endif /* ! FLEXINT_H */
89
90#ifdef __cplusplus
91
92/* The "const" storage-class-modifier is valid. */
93#define YY_USE_CONST
94
95#else /* ! __cplusplus */
96
97#if __STDC__
98
99#define YY_USE_CONST
100
101#endif   /* __STDC__ */
102#endif   /* ! __cplusplus */
103
104#ifdef YY_USE_CONST
105#define yyconst const
106#else
107#define yyconst
108#endif
109
110/* Returned upon end-of-file. */
111#define YY_NULL 0
112
113/* Promotes a possibly negative, possibly signed char to an unsigned
114 * integer for use as an array index.  If the signed char is negative,
115 * we want to instead treat it as an 8-bit unsigned char, hence the
116 * double cast.
117 */
118#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
119
120/* Enter a start condition.  This macro really ought to take a parameter,
121 * but we do it the disgusting crufty way forced on us by the ()-less
122 * definition of BEGIN.
123 */
124#define BEGIN (yy_start) = 1 + 2 *
125
126/* Translate the current start state into a value that can be later handed
127 * to BEGIN to return to the state.  The YYSTATE alias is for lex
128 * compatibility.
129 */
130#define YY_START (((yy_start) - 1) / 2)
131#define YYSTATE YY_START
132
133/* Action number for EOF rule of a given start state. */
134#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
135
136/* Special action meaning "start processing a new file". */
137#define YY_NEW_FILE fortranrestart(fortranin  )
138
139#define YY_END_OF_BUFFER_CHAR 0
140
141/* Size of default input buffer. */
142#ifndef YY_BUF_SIZE
143#define YY_BUF_SIZE 16384
144#endif
145
146/* The state buf must be large enough to hold one state per character in the main buffer.
147 */
148#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
149
150#ifndef YY_TYPEDEF_YY_BUFFER_STATE
151#define YY_TYPEDEF_YY_BUFFER_STATE
152typedef struct yy_buffer_state *YY_BUFFER_STATE;
153#endif
154
155extern int fortranleng;
156
157extern FILE *fortranin, *fortranout;
158
159#define EOB_ACT_CONTINUE_SCAN 0
160#define EOB_ACT_END_OF_FILE 1
161#define EOB_ACT_LAST_MATCH 2
162
163    #define YY_LESS_LINENO(n)
164   
165/* Return all but the first "n" matched characters back to the input stream. */
166#define yyless(n) \
167   do \
168      { \
169      /* Undo effects of setting up fortrantext. */ \
170        int yyless_macro_arg = (n); \
171        YY_LESS_LINENO(yyless_macro_arg);\
172      *yy_cp = (yy_hold_char); \
173      YY_RESTORE_YY_MORE_OFFSET \
174      (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
175      YY_DO_BEFORE_ACTION; /* set up fortrantext again */ \
176      } \
177   while ( 0 )
178
179#define unput(c) yyunput( c, (yytext_ptr)  )
180
181/* The following is because we cannot portably get our hands on size_t
182 * (without autoconf's help, which isn't available because we want
183 * flex-generated scanners to compile on their own).
184 */
185
186#ifndef YY_TYPEDEF_YY_SIZE_T
187#define YY_TYPEDEF_YY_SIZE_T
188typedef unsigned int yy_size_t;
189#endif
190
191#ifndef YY_STRUCT_YY_BUFFER_STATE
192#define YY_STRUCT_YY_BUFFER_STATE
193struct yy_buffer_state
194   {
195   FILE *yy_input_file;
196
197   char *yy_ch_buf;     /* input buffer */
198   char *yy_buf_pos;    /* current position in input buffer */
199
200   /* Size of input buffer in bytes, not including room for EOB
201    * characters.
202    */
203   yy_size_t yy_buf_size;
204
205   /* Number of characters read into yy_ch_buf, not including EOB
206    * characters.
207    */
208   int yy_n_chars;
209
210   /* Whether we "own" the buffer - i.e., we know we created it,
211    * and can realloc() it to grow it, and should free() it to
212    * delete it.
213    */
214   int yy_is_our_buffer;
215
216   /* Whether this is an "interactive" input source; if so, and
217    * if we're using stdio for input, then we want to use getc()
218    * instead of fread(), to make sure we stop fetching input after
219    * each newline.
220    */
221   int yy_is_interactive;
222
223   /* Whether we're considered to be at the beginning of a line.
224    * If so, '^' rules will be active on the next match, otherwise
225    * not.
226    */
227   int yy_at_bol;
228
229    int yy_bs_lineno; /**< The line count. */
230    int yy_bs_column; /**< The column count. */
231   
232   /* Whether to try to fill the input buffer when we reach the
233    * end of it.
234    */
235   int yy_fill_buffer;
236
237   int yy_buffer_status;
238
239#define YY_BUFFER_NEW 0
240#define YY_BUFFER_NORMAL 1
241   /* When an EOF's been seen but there's still some text to process
242    * then we mark the buffer as YY_EOF_PENDING, to indicate that we
243    * shouldn't try reading from the input source any more.  We might
244    * still have a bunch of tokens to match, though, because of
245    * possible backing-up.
246    *
247    * When we actually see the EOF, we change the status to "new"
248    * (via fortranrestart()), so that the user can continue scanning by
249    * just pointing fortranin at a new input file.
250    */
251#define YY_BUFFER_EOF_PENDING 2
252
253   };
254#endif /* !YY_STRUCT_YY_BUFFER_STATE */
255
256/* Stack of input buffers. */
257static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
258static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
259static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
260
261/* We provide macros for accessing buffer states in case in the
262 * future we want to put the buffer states in a more general
263 * "scanner state".
264 *
265 * Returns the top of the stack, or NULL.
266 */
267#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
268                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
269                          : NULL)
270
271/* Same as previous macro, but useful when we know that the buffer stack is not
272 * NULL or when we need an lvalue. For internal use only.
273 */
274#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
275
276/* yy_hold_char holds the character lost when fortrantext is formed. */
277static char yy_hold_char;
278static int yy_n_chars;     /* number of characters read into yy_ch_buf */
279int fortranleng;
280
281/* Points to current character in buffer. */
282static char *yy_c_buf_p = (char *) 0;
283static int yy_init = 0;    /* whether we need to initialize */
284static int yy_start = 0;   /* start state number */
285
286/* Flag which is used to allow fortranwrap()'s to do buffer switches
287 * instead of setting up a fresh fortranin.  A bit of a hack ...
288 */
289static int yy_did_buffer_switch_on_eof;
290
291void fortranrestart (FILE *input_file  );
292void fortran_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
293YY_BUFFER_STATE fortran_create_buffer (FILE *file,int size  );
294void fortran_delete_buffer (YY_BUFFER_STATE b  );
295void fortran_flush_buffer (YY_BUFFER_STATE b  );
296void fortranpush_buffer_state (YY_BUFFER_STATE new_buffer  );
297void fortranpop_buffer_state (void );
298
299static void fortranensure_buffer_stack (void );
300static void fortran_load_buffer_state (void );
301static void fortran_init_buffer (YY_BUFFER_STATE b,FILE *file  );
302
303#define YY_FLUSH_BUFFER fortran_flush_buffer(YY_CURRENT_BUFFER )
304
305YY_BUFFER_STATE fortran_scan_buffer (char *base,yy_size_t size  );
306YY_BUFFER_STATE fortran_scan_string (yyconst char *yy_str  );
307YY_BUFFER_STATE fortran_scan_bytes (yyconst char *bytes,int len  );
308
309void *fortranalloc (yy_size_t  );
310void *fortranrealloc (void *,yy_size_t  );
311void fortranfree (void *  );
312
313#define yy_new_buffer fortran_create_buffer
314
315#define yy_set_interactive(is_interactive) \
316   { \
317   if ( ! YY_CURRENT_BUFFER ){ \
318        fortranensure_buffer_stack (); \
319      YY_CURRENT_BUFFER_LVALUE =    \
320            fortran_create_buffer(fortranin,YY_BUF_SIZE ); \
321   } \
322   YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
323   }
324
325#define yy_set_bol(at_bol) \
326   { \
327   if ( ! YY_CURRENT_BUFFER ){\
328        fortranensure_buffer_stack (); \
329      YY_CURRENT_BUFFER_LVALUE =    \
330            fortran_create_buffer(fortranin,YY_BUF_SIZE ); \
331   } \
332   YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
333   }
334
335#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
336
337/* Begin user sect3 */
338
339typedef unsigned char YY_CHAR;
340
341FILE *fortranin = (FILE *) 0, *fortranout = (FILE *) 0;
342
343typedef int yy_state_type;
344
345extern int fortranlineno;
346
347int fortranlineno = 1;
348
349extern char *fortrantext;
350#define yytext_ptr fortrantext
351
352static yy_state_type yy_get_previous_state (void );
353static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
354static int yy_get_next_buffer (void );
355static void yy_fatal_error (yyconst char msg[]  );
356
357/* Done after the current pattern has been matched and before the
358 * corresponding action - sets up fortrantext.
359 */
360#define YY_DO_BEFORE_ACTION \
361   (yytext_ptr) = yy_bp; \
362   fortranleng = (size_t) (yy_cp - yy_bp); \
363   (yy_hold_char) = *yy_cp; \
364   *yy_cp = '\0'; \
365   (yy_c_buf_p) = yy_cp;
366
367#define YY_NUM_RULES 173
368#define YY_END_OF_BUFFER 174
369/* This struct is not used in this scanner,
370   but its presence is necessary. */
371struct yy_trans_info
372   {
373   flex_int32_t yy_verify;
374   flex_int32_t yy_nxt;
375   };
376static yyconst flex_int16_t yy_accept[1124] =
377    {   0,
378        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
379        0,    0,  174,  173,  163,  159,  162,  172,  151,  150,
380      153,  165,  151,  153,  153,  155,  152,  138,  149,  154,
381      157,  156,  158,  144,  144,  144,  144,  144,  144,  144,
382      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
383      144,  163,  159,  162,  172,  149,  144,  144,  144,  144,
384      144,  173,  173,  170,  173,  153,  144,    0,    0,  163,
385      164,    0,  162,  172,  172,  172,    0,  142,    0,    0,
386      165,  165,  165,  165,    0,    0,    0,  141,    0,    0,
387      133,   25,    0,  145,    0,    0,    0,    0,    0,    0,
388
389        0,  134,    0,  149,   24,    0,  144,  144,  144,  144,
390      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
391      144,  144,  144,   42,  144,  144,  144,  144,  144,  144,
392      144,  144,  144,  144,  144,  144,  144,   84,  144,  144,
393      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
394      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
395      144,  144,  144,  144,  163,  161,    0,  161,    0,    0,
396        0,    0,    0,  164,  160,  161,    0,  172,  171,  172,
397      172,  172,  161,  149,    4,  144,  144,  144,  144,  144,
398      144,    0,  170,    0,    0,    0,  167,   25,    0,    0,
399
400        4,    0,  144,  144,  144,  144,  144,  144,    0,    0,
401        0,  172,  172,    0,    0,  165,  165,    0,    0,    0,
402        0,  140,    0,    0,    0,    0,    0,    0,    0,    0,
403        0,    0,    0,    0,    0,    0,    0,  148,  145,    0,
404        0,    0,  143,    0,  144,  144,  144,  144,  144,  144,
405      144,  144,  144,  144,  144,  144,  144,  114,  144,  144,
406      144,    0,  144,  144,  144,  144,  144,   15,  144,  144,
407      144,  113,  144,  144,  144,  144,  144,    0,  144,    0,
408       95,  144,  144,  144,  144,  144,  120,  144,  144,  125,
409      144,  144,  144,  144,  144,  144,   88,  144,  144,  144,
410
411      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
412      144,  117,  144,  144,  144,  144,  144,  121,  144,  144,
413      144,  144,  144,  163,  161,    0,  164,    0,    0,    0,
414        0,    0,    0,    0,  161,    0,  161,  172,  172,  172,
415      149,    4,    4,    4,    4,  144,  144,  144,  144,  144,
416      144,    0,    0,    0,  167,    0,    0,    4,    4,    4,
417        4,  143,    0,  144,  144,    0,  144,  144,  144,  144,
418        0,    0,    0,  172,  172,    0,    0,  165,  165,    0,
419        0,    0,    0,  146,    0,  145,    0,  147,    0,   27,
420        0,   29,   28,   31,   30,   33,    0,    0,   35,    0,
421
422      145,    0,  146,    0,  145,    0,  147,    0,  143,    0,
423      144,  144,  124,  116,  144,  119,  122,  144,   21,  144,
424      144,  144,  144,  144,  115,  144,  144,  144,    0,  144,
425      144,  144,   93,    0,  107,  144,  144,  144,  144,  144,
426      144,  144,  144,  144,    0,  108,  144,  144,  144,  144,
427      144,  144,  144,    0,   87,  144,  144,  144,  144,  144,
428      144,  144,    0,   97,  144,  144,    0,  110,  144,  144,
429      144,  144,  111,   20,   59,   73,  144,  144,  144,  144,
430      144,  144,  144,  144,   78,   43,  144,  144,  144,  144,
431       68,  144,  126,  118,  144,   71,   53,  144,    0,   96,
432
433       98,  144,   91,  100,  144,  144,  163,  161,  164,    0,
434        0,    0,    0,    0,    0,  161,    0,  161,  172,  172,
435      172,  149,    4,    4,  144,  144,  144,  144,  144,   17,
436        0,    0,    0,    4,    4,    0,  143,    0,  144,  144,
437      144,  144,    0,    0,    0,  172,  172,    0,    0,  165,
438      165,    0,    0,   37,   26,    0,   34,   36,    0,  143,
439        0,  143,  144,  144,  144,  144,  144,   48,  144,  144,
440      144,  123,  144,  144,    0,  144,  144,  144,    0,  144,
441      144,    0,    0,    0,    0,    0,    0,    0,    0,   41,
442      144,   94,  144,  144,  144,  144,  144,  144,  144,  144,
443
444      144,   75,   75,   75,   75,  144,    0,  106,  112,  144,
445      144,   87,  144,  144,   89,  144,  144,  144,  144,  144,
446      144,  144,  144,  144,  144,  144,  144,  144,  144,   51,
447      144,   76,  144,  144,  144,    0,  144,  144,  144,  144,
448      144,  101,  144,  144,   54,   80,  163,  161,  164,    0,
449        0,    0,    0,    0,  161,    0,  161,  172,  172,  172,
450      149,    4,    3,    0,  103,  144,  144,   85,  144,   69,
451       70,   69,    0,    0,    0,    4,    3,    0,  143,    0,
452      143,  144,   48,  144,  123,    0,   22,    0,  172,   22,
453        0,   22,   22,  165,   22,    0,   22,   22,   22,   32,
454
455      144,   22,   22,   22,  144,  144,  144,   62,  144,  144,
456      144,  144,    0,  144,  144,  139,    0,    0,   92,  144,
457       41,    0,   94,    0,    0,    0,    0,    0,    0,    0,
458      144,  144,  144,  144,  144,  144,  144,  144,  144,    0,
459      109,  144,  144,  144,  144,  144,  144,  144,   65,  144,
460      144,  144,  128,   99,  127,  129,   38,  144,  144,  144,
461      144,  144,  144,   82,    0,  144,   10,   74,   18,  144,
462      144,   81,  163,  161,  164,    0,    0,    0,  161,  172,
463      172,   22,    4,    3,    3,  144,  144,  144,    0,    0,
464       22,    4,    3,    3,  144,   22,   22,   22,   23,  166,
465
466       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
467      144,  144,  144,   57,  144,  144,  144,    0,    0,  144,
468      144,   39,   92,    0,  144,    0,    0,    0,    0,    0,
469        0,    0,    0,  144,  144,  144,  144,  144,  144,   72,
470      144,  144,  144,    0,    0,  144,  144,   16,   49,   44,
471      144,  144,   45,    0,  144,  144,  144,  144,   66,   83,
472        7,    0,    0,  144,    0,  144,  144,    0,    0,    0,
473      172,   23,    4,  144,  144,   63,    0,   23,    4,   23,
474       23,   23,  144,    8,  144,  144,   86,  144,  144,   39,
475        0,    0,  144,  144,    0,  144,    0,    0,    0,    0,
476
477        0,    0,   72,    0,  144,  144,  144,  144,  144,  144,
478       55,  144,   64,    0,    0,    0,  135,   11,   19,  144,
479      144,    0,  144,   79,   67,  144,    0,  144,    0,  144,
480      144,    0,    0,  172,    4,  144,   58,    0,    4,  144,
481      131,   46,  144,   50,    0,    0,  144,  144,    0,   56,
482        0,    0,    0,    0,    0,    0,   55,  144,  144,   40,
483      144,  105,  144,  144,    0,    0,    0,    0,  135,  130,
484       90,    0,  144,   60,    0,   61,    0,  144,  144,    0,
485       58,  172,    4,    4,  144,    0,    4,    4,  144,    9,
486        0,    0,  144,  144,   56,    0,    0,   40,    0,  105,
487
488        0,  144,  144,   13,  144,  144,    0,    0,    0,  144,
489        0,    0,  102,    6,    0,  172,    4,    4,  144,    0,
490        4,    4,   47,    0,    0,  144,  144,    0,    0,   13,
491        0,   14,  144,  144,   52,    0,    0,    0,  144,    0,
492      102,    0,  172,    4,    2,  104,    0,    4,    2,    0,
493        0,  144,  144,   14,    0,    0,  132,  144,    0,    0,
494        0,  144,    0,  104,  172,    4,    0,    4,    0,    0,
495      137,  144,  132,    0,   12,    0,    0,    0,  144,    0,
496      172,    1,    0,    1,  137,    0,  144,   12,    0,    0,
497        0,  144,    0,  172,    0,    0,  136,    0,    0,    0,
498
499       77,    5,  172,    0,  136,   77,  172,    0,  172,    0,
500      172,    0,  172,    0,  172,    0,  168,    0,    0,    0,
501        0,  169,    0
502    } ;
503
504static yyconst flex_int32_t yy_ec[256] =
505    {   0,
506        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
507        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
508        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
509        1,    4,    5,    6,    7,    8,    9,   10,   11,   12,
510       13,   14,   15,   16,   17,   18,   19,   20,   21,   22,
511       23,   24,   25,   26,   27,   28,   20,   29,   30,   31,
512       32,   33,    1,    1,   37,   38,   39,   40,   41,   42,
513       43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
514       53,   54,   55,   56,   57,   58,   59,   60,   61,   62,
515       34,    1,   35,    1,   36,    1,   37,   38,   39,   40,
516
517       41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
518       51,   52,   53,   54,   55,   56,   57,   58,   59,   60,
519       61,   62,   63,   63,   63,    1,    1,    1,    1,    1,
520        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
521        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
522        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
523        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
524        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
525        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
526        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
527
528        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
529        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
530        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
531        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
532        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
533        1,    1,    1,    1,    1
534    } ;
535
536static yyconst flex_int32_t yy_meta[64] =
537    {   0,
538        1,    2,    3,    4,    1,    5,    1,    1,    1,    6,
539        1,    1,    1,    1,    7,    1,    7,    8,    1,    9,
540        9,    9,    9,    9,    9,    9,    9,    9,    1,    1,
541        1,    1,    1,    1,    1,   10,   11,   10,   10,   12,
542       13,   14,   15,   16,   10,   10,   10,   15,   15,   15,
543       11,   10,   12,   15,   15,   14,   15,   10,   17,   10,
544       10,   10,    5
545    } ;
546
547static yyconst flex_int16_t yy_base[1180] =
548    {   0,
549        0,   62,    0,    0,    0,    0, 4188,   65,    0,   55,
550        0,    0, 4190,   35,   69,   70,   74,   37,   75,   50,
551       53,   72,   93,   78,   66,   56,  148,   87,   81,   65,
552       68,   99,   71,  191,  230,  108,  183,  225,  244,  103,
553      137,  152,  185,  250,  265,  262,  281,  220,  286,  296,
554      308,  368,  134,  424,  321,  350,  149, 4152,  310,  337,
555      270, 4192, 4185, 4192,  158,  380,  481, 4150, 4132,  138,
556      163,  175,  179,    0, 4148, 4130, 4177, 4176,  147,  133,
557     4178, 4177,  192,  156,  232,  393,  376, 4192,  402,  406,
558     4192, 4192,  543,  184, 4129, 4125,  204,  218,  226, 4123,
559
560     4125, 4192,  584,  358, 4192,  448,  532,  507,  514,  572,
561      534,  588,  593,  605,  617,  381,  242,  169,  195,  404,
562      384,  312,  517,  672,  524,  378,  403,  544,  365,  630,
563      597,  545,  424,  565,  651,  679,  425,  650,  626,  648,
564      672,  673,  603,  674,  680,  684,  698,  686,  699,  704,
565      706,  584,  707,  710,  711,  730,  683,  297,  732,  735,
566      734,  737,  742,  750,  788,  795, 4172,  389,  316, 4137,
567     4125,   72, 4117,  807, 4192,  863,  427, 4168, 4192,  225,
568      327,  543,  632,  660,  804,  765,  799,  770,  764,  785,
569      788, 4167, 4192,  343, 4166,  774, 4192, 4165,  820,  564,
570
571      856,  918,  946, 4149,  271,  661,  187,  270, 4118, 4108,
572      812, 4116, 4106,  547,  804,  617,  398,  859,  894,  906,
573      868, 4192,  889,  871,  815,  860,  896, 4122,  372, 4143,
574     4142, 4141, 4140,  275, 4101, 4138, 4101, 4192,  874,  907,
575      908,  914, 4113, 4112,  864,  973,  999,  977,  975,  983,
576      984,  981, 1002,  986,  987, 1006, 1007, 1008, 1011, 1020,
577     1010, 4093,  737, 1029, 1032, 1017, 1036, 1089, 1033, 1078,
578     1042, 1035, 1047, 1058, 1038, 1057, 1063, 1101, 1071, 1013,
579     4192, 1070, 1079, 1082, 1083, 1105, 1110, 1148, 1149, 1112,
580     1117, 1119, 1126, 1128, 1133, 1139, 1076, 1125, 1137, 1140,
581
582     1151, 1161, 1162, 1171, 1163, 1175, 1176, 1177, 1186, 1187,
583     1184, 1198, 1189, 1199, 1202, 1141, 1245, 1207, 1221, 1209,
584     1211, 1213, 1225, 1264, 1283, 4090, 1290, 4147, 4094, 4098,
585     4091, 4095, 4093, 4103, 1346,  715,  922,  557, 1120,  837,
586     1266,    0,  931, 4100, 4093, 1236, 1235, 1243, 1264, 1271,
587     1274,  800, 4138, 1311, 4192, 1268,  873, 4137, 1332, 1295,
588     1132, 1401, 1440,    0, 4005, 1479,  697,  659,  815,  998,
589     3951, 3948,  932, 3883, 3892, 1231,  551,  561, 1302, 1321,
590     1342, 1351, 1355, 1385, 1410, 1424, 1449, 1463, 3913, 4192,
591     3846, 4192, 4192, 4192, 4192, 4192, 3789, 3812, 4192, 3807,
592
593     1347, 1488, 1497, 1506, 1515, 1524, 1533, 1302, 3782, 1327,
594     1304, 1525, 4192, 1273, 1362, 1361, 1402, 1403, 1441, 1442,
595     1526, 1443, 1527, 1528, 1531, 1533, 1535, 1534, 3776, 1549,
596     1553, 1539, 1597, 1655, 4192, 1541, 1554, 1563, 1565, 1567,
597     1569, 1575, 1578, 1577, 1361, 4192, 1583, 1714, 1587, 1623,
598     1591, 1596, 1607, 3768, 1611, 1617, 1612, 1616, 1630, 1631,
599     1645, 1639, 1684, 4192, 1652, 1654, 1690, 4192, 1741, 1672,
600     1742, 1743, 1744, 1745, 1746, 1747, 1751, 1757, 1766, 1756,
601     1767, 1771, 1772, 1777, 1776, 1801, 1779, 1780, 1781, 1782,
602     1787, 1790, 1800, 1802, 1828, 1805, 1806, 1810, 1846, 4192,
603
604     1808, 1812, 1809, 1814, 1830, 1832, 1870, 1885, 1892, 3776,
605     3757, 3774, 3770, 3766, 3801, 1948, 1009, 1380, 1303,  663,
606     1414, 1873, 3748, 3749, 1903, 1863, 1902, 1839, 1943, 3796,
607     1306, 1438, 1451, 1849, 1566, 2003, 2029, 2068, 1591,  424,
608     1063, 1373, 3758,    0, 1392, 3757,    0,  815, 3791, 1875,
609     3793, 1919, 1702, 4192, 4192, 3776, 4192, 4192, 1987, 2013,
610     2038, 2052, 1844, 2096, 1864, 1882, 1884, 1883, 1927, 1924,
611     1929, 1909, 1945, 1930, 3748, 1949, 2123, 2124, 2160, 2045,
612     2126, 3741, 3734, 1588, 3738, 3731, 1623, 3723, 3690, 1963,
613     2129, 1965, 2030, 2132, 2130, 2128, 2136, 2148, 2150, 2138,
614
615     2191, 4192, 2186, 2178, 2162, 2180, 1990, 4192, 2164, 2166,
616     2184, 4192, 2187, 2196, 2188, 2190, 2194, 2200, 2209, 2203,
617     2206, 2210, 2218, 2222, 2221, 2230, 2225, 2228, 2236, 2231,
618     2246, 2237, 2243, 2244, 2249, 3701, 2252, 2255, 2258, 2256,
619     2264, 4192, 2265, 2267, 2276, 2277, 2322, 2331, 2341, 2313,
620     3690, 1416, 3687, 2336, 2397, 1449, 1648, 1854, 2040, 3720,
621     2324, 3676, 1783, 2335, 4192, 2313, 2312, 1910, 2335, 2392,
622     4192, 2389, 2194, 2341, 3697, 2249, 2042, 2452, 2478, 2504,
623     2530, 1870, 3681, 2558, 3678,    0, 4192, 2615,    0,    0,
624     3687, 3684, 3677, 3679, 3659, 2353, 2366, 2400, 4192, 4192,
625
626     2643, 2392, 2355, 2331, 2369, 2384, 2385, 2389, 2390, 2391,
627     2392, 2397, 3609, 2431, 2415, 2393, 3586, 3583, 2395, 2430,
628     4192, 3576, 4192, 3569, 3582, 3569, 3542, 3551, 3536, 3546,
629     2454, 2455, 2457, 2480, 2481, 2428, 2670, 2458, 2671, 2455,
630     4192, 2482, 2708, 2672, 2676, 2677, 2692, 2483, 2484, 2678,
631     2680, 2690, 2685, 2699, 2700, 2703, 2739, 2705, 2710, 2711,
632     2712, 2714, 2721, 2715, 2537, 2726, 2719, 2724, 2735, 2775,
633     2744, 2745, 2781, 2792, 2801, 3495, 3474, 3433,    0, 1637,
634     3477, 3476, 3436,    0, 1991, 2750, 2772, 2806, 1959, 3474,
635     3473, 2313, 3472, 2356, 2860, 2921,    0, 3456, 4192, 4192,
636
637        0, 3467, 3466, 3468, 2537, 2621, 4192, 2905, 2793, 2747,
638     2782, 2779, 2805, 2753, 2897, 2780, 2802, 3429, 2458, 2899,
639     2791, 2898, 4192, 3428, 2900, 3429, 3426, 3409, 3422, 3423,
640     3409, 3421, 3407, 2902, 2903, 2918, 2922, 2923, 2924, 2926,
641     2927, 2928, 2936, 2981, 2976, 2937, 2951, 2955, 2957, 2958,
642     2959, 2963, 2960, 2997, 2965, 2966, 2967, 2969, 2979, 2981,
643     2987, 3024, 3423, 2988, 2811, 2990, 2993, 3417, 3407, 2459,
644     2510, 3453, 3419, 2994, 2997, 2462, 3026, 3448, 3029, 3063,
645        0, 3426, 3002, 3000, 3016, 3006, 3013, 3018, 3021, 4192,
646     3389, 3309, 3024, 3022, 3272, 3027, 3215, 3209, 3187, 3150,
647
648     3134, 3029, 4192, 3004, 3055, 3040, 3056, 3042, 3058, 3061,
649     3062, 3067, 3065, 3098, 2484, 3110, 3119, 3070, 3088, 3089,
650     3094, 2917, 3090, 3091, 3097, 3098, 2953, 3099, 2930, 3100,
651     3109, 2818, 2796, 2785, 2502, 3110, 3102, 2383, 3135, 3112,
652     3120, 3124, 3128, 3125, 2746, 2687, 3131, 3133, 2605, 3134,
653     2590, 2592, 2586, 2479, 2459, 2433, 4192, 3139, 3143, 3144,
654     3147, 3149, 3152, 3155, 2541, 3192, 3208, 3204, 3210, 3162,
655     3178, 2438, 3185, 3182, 2414, 3188, 2340, 3189, 3190, 2333,
656     4192, 2018, 2288, 2260, 3192,  112, 3197, 3188, 3200, 3191,
657     2137, 2149, 3210, 3211, 4192, 2017, 2011, 4192, 1998, 4192,
658
659     1986, 3212, 3213, 3197, 3216, 3218, 2624, 3271, 1977, 3239,
660     1982, 1903, 3223, 3231, 1885, 3254, 1854, 1829, 3232, 3066,
661     1951, 1593, 3241, 1822, 1744, 3242, 3245, 1736, 1662, 4192,
662     1653, 3250, 3257, 3252, 3254, 2850, 3310, 1642, 3270, 1622,
663     4192, 1521, 3100, 1441,    0, 3255, 3294, 1280, 1416, 1354,
664     1309, 3268, 3280, 4192, 1314, 1246, 3264, 3278, 3325, 3333,
665     1178, 3284, 1155, 4192, 3300, 1072, 3313, 2771, 1054, 1064,
666     3294, 3296, 4192, 1044, 3302, 3350, 3377,  992, 3305,  960,
667     3102,    0, 3337,  892, 4192,  829, 3312, 4192, 3342, 3388,
668      696, 3345,  555, 3358, 3364,  406, 3367, 3414, 3415,  348,
669
670     3368, 4192, 3341, 3380, 4192, 4192, 3366, 3381, 3351, 3367,
671     2713, 3390, 3382, 3386,  281, 3404, 4192, 3405, 3416, 3426,
672      177, 4192, 4192, 3482, 3499, 3516, 3533, 3550, 3567, 3577,
673     3584, 3601, 3615, 3629, 3646, 3663, 3672, 3685, 3702, 3716,
674     3722, 3731, 3748, 3765, 3424, 3427, 3428, 3774, 3432, 3436,
675     3440,  362, 2185, 3786, 3800, 3806, 3441, 3445, 3812, 3818,
676     3827, 3844, 3861, 3878, 3895, 3912, 3926, 3935, 3952, 3969,
677     3986, 4003, 4020, 4037, 4054, 4071, 4088, 4105, 4122
678    } ;
679
680static yyconst flex_int16_t yy_def[1180] =
681    {   0,
682     1123,    1, 1124, 1124,    1,    2, 1125, 1125,    1,    2,
683        1,    2, 1123, 1123, 1123, 1123, 1123, 1126, 1127, 1123,
684     1123, 1128, 1129, 1123, 1123, 1123, 1123, 1123, 1130, 1123,
685     1123, 1123, 1123, 1131, 1131,   35,   35,   35,   35,   38,
686       38,   38,   38,   38,   38,   38,   38,   38,   38,   37,
687       37, 1123, 1123, 1123, 1132, 1133,   37,   38,   38,   37,
688       38, 1123, 1134, 1123, 1134, 1135, 1123, 1123, 1123, 1123,
689     1123, 1123, 1123, 1126, 1126, 1126, 1127, 1127, 1127, 1127,
690     1128, 1123, 1128, 1128, 1129, 1136, 1129, 1123, 1129, 1129,
691     1123, 1123, 1123, 1137, 1123, 1123, 1123, 1123, 1123, 1123,
692
693     1123, 1123, 1138, 1130, 1123, 1123,   38,   38,   38,   38,
694       38,   38,   35,   38,   38,  115,  115,  115,  115,  115,
695      115,  115,  115, 1131,  115,  115,  115,  115,  115,  115,
696      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
697      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
698      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
699      115,  115,  115,  115, 1123, 1123, 1139, 1123, 1123, 1123,
700     1123, 1123, 1123, 1123, 1123, 1123, 1140, 1132, 1123, 1132,
701     1132, 1132, 1140, 1141, 1142,  115,  115,  115,  115,  115,
702      115, 1134, 1123, 1134, 1143, 1143, 1123, 1143, 1143, 1143,
703
704     1144, 1143, 1123,  203,  203,  203,  203,  203, 1123, 1123,
705     1123, 1126, 1126, 1127, 1127, 1128, 1128, 1136, 1136, 1136,
706     1136, 1123, 1129, 1129, 1145, 1146, 1147, 1123, 1123, 1123,
707     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1148, 1149,
708     1150, 1151, 1152, 1153,  115,  115,  115,  115,  115,  115,
709      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
710      115, 1154,  124,  115,  115,  115,  115,  115,  115,  115,
711      115,  115,  115,  115,  115,  115,  115, 1123,  115, 1123,
712     1123,  115,  115,  115,  115,  115,  115,  115,  115,  115,
713      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
714
715      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
716      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
717      115,  115,  115, 1123, 1123, 1123, 1123, 1139, 1123, 1123,
718     1123, 1123, 1123, 1123, 1123, 1155, 1155, 1132, 1132, 1132,
719     1156, 1142, 1142, 1142, 1142,  115,  115,  115,  115,  115,
720      115, 1134, 1143, 1143, 1123, 1143, 1143, 1144, 1144, 1144,
721     1144, 1143, 1143,  203,  203, 1143,  203,  203,  203,  203,
722     1123, 1123, 1123, 1126, 1126, 1127, 1127, 1128, 1128, 1136,
723     1129, 1129, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
724     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
725
726     1148, 1123, 1123, 1123, 1123, 1123, 1123, 1157, 1153, 1158,
727      115,  115, 1123,  115,  115,  115,  115,  115,  115,  115,
728      115,  115,  115,  115,  115,  115,  115,  115, 1123,  115,
729      115,  115,  115, 1123, 1123,  115,  115,  115,  115,  115,
730      115,  115,  115,  115, 1123, 1123,  115, 1123,  115,  115,
731      115,  115,  115, 1123,  115,  115,  115,  115,  115,  115,
732      115,  115, 1123, 1123,  115,  115, 1123, 1123,  115,  115,
733      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
734      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
735      115,  115,  115,  115,  115,  115,  115,  115, 1123, 1123,
736
737      115,  115,  115,  115,  115,  115, 1123, 1123, 1123, 1123,
738     1123, 1123, 1123, 1123, 1123, 1123, 1159, 1159, 1132, 1132,
739     1132, 1160, 1142, 1142,  115,  115,  115,  115,  115, 1123,
740     1134, 1143, 1143, 1144, 1144, 1143, 1143, 1143,  203,  203,
741      203,  203, 1123, 1161, 1123, 1126, 1162, 1127, 1163, 1128,
742     1164, 1129, 1165, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
743     1123, 1123,  115, 1123,  115,  115,  115,  115,  115,  115,
744      115,  115,  115,  115, 1123,  115,  115,  115, 1123,  115,
745      115, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,  115,
746      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
747
748      115, 1123, 1123,  115,  115,  115, 1123, 1123,  115,  115,
749      115, 1123,  115,  115,  115,  115,  115,  115,  115,  115,
750      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
751      115,  115,  115,  115,  115, 1123,  115,  115,  115,  115,
752      115, 1123,  115,  115,  115,  115, 1123, 1123, 1123, 1123,
753     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1132, 1132, 1166,
754     1167, 1142, 1168, 1123, 1123,  115,  115, 1123,  115, 1123,
755     1123, 1123, 1134, 1143, 1169, 1144, 1170, 1143, 1143, 1143,
756     1143,  203,  203, 1123,  203, 1171, 1123, 1123, 1172, 1126,
757     1173, 1127, 1127, 1174, 1128, 1175, 1129, 1129, 1123, 1123,
758
759     1123, 1123,  115,  115,  115,  115,  115,  115,  115,  115,
760      115,  115, 1123,  115,  115,  115, 1123, 1123,  115,  115,
761     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
762      115,  115,  115,  115,  115,  115,  115,  115,  115, 1123,
763     1123,  115,  115,  115,  115,  115,  115,  115,  115,  115,
764      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
765      115,  115,  115,  115, 1123,  115,  115,  115,  115,  115,
766      115,  115, 1123, 1123, 1123, 1123, 1123, 1123,  655, 1132,
767     1176, 1132, 1142, 1168, 1168,  115,  115,  115, 1134, 1177,
768     1143, 1144, 1170, 1170, 1123, 1143,  203,  203, 1123, 1123,
769
770     1126, 1127, 1127, 1128, 1129, 1129, 1123, 1123,  115,  115,
771      115,  115,  115,  115,  115,  115,  115, 1123, 1123,  115,
772      115,  115, 1123, 1123,  115, 1123, 1123, 1123, 1123, 1123,
773     1123, 1123, 1123,  115,  115,  115,  115,  115,  115,  115,
774      115,  115,  115, 1123, 1178,  115,  115,  115,  115,  115,
775      115,  115,  115, 1123,  115,  115,  115,  115,  115,  115,
776      115, 1123, 1123,  115, 1123,  115,  115, 1123, 1123, 1123,
777     1132, 1132, 1142,  115,  115, 1123, 1134, 1143, 1144, 1143,
778      203,  203,  115,  115,  115,  115,  115,  115,  115, 1123,
779     1123, 1123,  115,  115, 1123,  115, 1123, 1123, 1123, 1123,
780
781     1123, 1123, 1123, 1123,  115,  115,  115,  115,  115,  115,
782      115,  115,  115, 1178, 1123, 1179, 1178,  115,  115,  115,
783      115, 1123,  115,  115,  115,  115, 1123,  115, 1123,  115,
784      115, 1123, 1123, 1132, 1142,  115,  115, 1134, 1144,  115,
785      115,  115,  115,  115, 1123, 1123,  115,  115, 1123,  115,
786     1123, 1123, 1123, 1123, 1123, 1123, 1123,  115,  115,  115,
787      115,  115,  115,  115, 1123, 1179, 1178, 1179, 1179,  115,
788      115, 1123,  115,  115, 1123,  115, 1123,  115,  115, 1123,
789     1123, 1132, 1142, 1142,  115, 1134, 1144, 1144,  115,  115,
790     1123, 1123,  115,  115, 1123, 1123, 1123, 1123, 1123, 1123,
791
792     1123,  115,  115,  115,  115,  115, 1123, 1178, 1123,  115,
793     1123, 1123,  115,  115, 1123, 1132, 1142, 1142,  115, 1134,
794     1144, 1144,  115, 1123, 1123,  115,  115, 1123, 1123, 1123,
795     1123,  115,  115,  115,  115, 1123, 1178, 1123,  115, 1123,
796     1123, 1123, 1132, 1142, 1142,  115, 1134, 1144, 1144, 1123,
797     1123,  115,  115, 1123, 1123, 1123,  115,  115, 1123, 1178,
798     1123,  115, 1123, 1123, 1132, 1142, 1134, 1144, 1123, 1123,
799      115,  115, 1123, 1123,  115, 1123, 1178, 1123,  115, 1123,
800     1132, 1142, 1134, 1144, 1123, 1123,  115, 1123, 1178, 1178,
801     1123,  115, 1123, 1132, 1134, 1123,  115, 1178, 1179, 1123,
802
803      115, 1123, 1132, 1134, 1123, 1123, 1132, 1134, 1132, 1134,
804     1132, 1134, 1132, 1134, 1132, 1134, 1123, 1134, 1134, 1134,
805     1134, 1123,    0, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
806     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
807     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
808     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
809     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
810     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123
811    } ;
812
813static yyconst flex_int16_t yy_nxt[4256] =
814    {   0,
815       14,   15,   16,   17,   18,   19,   14,   20,   21,   22,
816       23,   24,   21,   25,   21,   26,   21,   27,   28,   29,
817       29,   29,   29,   29,   29,   29,   29,   29,   21,   30,
818       31,   32,   33,   21,   21,   34,   35,   36,   37,   38,
819       39,   40,   41,   34,   42,   34,   34,   43,   44,   45,
820       46,   47,   34,   48,   49,   50,   34,   34,   51,   34,
821       34,   34,   14,   52,   53,   54,   55,   64,   66,   65,
822       70,   72,   71,   72,   82,   71,   68,   73,   75,   92,
823       78,   56,   56,   56,   56,   56,   56,   56,   56,   56,
824       69,   68,   76,   67,   68,   86,   91,   68,  103,  102,
825
826       57,   58,   87,   88,   59,   69,   68,   68,   69,   68,
827       68,   69,   68,   83,  193,   68,   79,   60,   61,   68,
828       69,   69,   68,   69,   69,  210,   69,   84,   68,   69,
829       80,  105,  333,   69,   89,   72,   69,   72,   78,   70,
830       68,   71,   69,  108,  116,  108,  108,  131,   90,   93,
831      132,   93,   78,  133,   69,  108,  185,  108,   82,  134,
832      193, 1020,  108,  110,   71,  194,   71,   94,   94,   94,
833       94,   94,   94,   94,   94,   94,  211,  108,  211, 1122,
834       71,  108,   73,  214,   95,  186,  215,  135,   96,   68,
835       97,  108,  108,  136,   82,   98,  108,   99,  100,  187,
836
837      137,  138,  108,   69,  366,  254,  108,  101,  106,  217,
838      107,  107,  107,  107,  107,  107,  107,  107,  107,  117,
839      108,  108,  108,  225,  226,  108,  118,  179,  216,  108,
840      119,  108,  109,  120,   86,  139,  227,  108,  110,  108,
841      369,   87,   88,  121,  230,  255,  110,  106,  108,  107,
842      107,  107,  107,  107,  107,  107,  107,  107,  232,  231,
843      153,  338,  108,  108,  108,  122,  234,  111,  112,  123,
844      108,  109,  108,  233,  108,  124,  235,  113,  108,  125,
845      110,  108,  108, 1117,  114,  115,  140,  366,  366,  253,
846      108,  126,  396,  127,  141,  108,  128,  129,  108,  110,
847
848      142,  143,  108,  130,  108,  108,  108,  367,  370,  144,
849      108,  146,  108,  147,  108,  145,  108,  149,  148,  108,
850      108,  108,  154,  179,  191,  108,  155,  397,  180,  179,
851      156,  150,  160,  314,  151,  108,  108,  152,  157,  161,
852      108,  158,  159,  108,  108,  193,  108,  315,  260,  162,
853      108,  163,  329,  183,  108,  108,  108,  189,  108,  168,
854      135,  164,  181,  339,  108,  108,  330,  103,  108,  165,
855      243,  166,  167,  160,  243,  103,  182,  168,   86,  352,
856      161,  196,  197,  196,  108,   87,   88,  108, 1106,  390,
857      162,   68,  168,  198,  219,  220,  219,  190,  168, 1123,
858
859       82,  108,  221,  222,   86,   69,  169,  170,   86,   68,
860      171,   87,   88, 1123,  108,   87,   88,  108,  270,  252,
861      108,  199,  259,  172,  173,  174,  175,  176,  167,  391,
862      337,  108,  267,  168,  108,  200,  168,  108,  223,  108,
863      108,  366,  268,  177,  177,  177,  177,  177,  177,  177,
864      177,  177,  256,  257,  379, 1105,  108,  108,  258,  224,
865      108,  108,  169,  170,  683,   68,  171,  243,  243,  243,
866      243,  243,  243,  243,  243,  243,  282,  276,  108,  172,
867      173,  195,  196,  197,  196,  195,  195,  195,  201,  195,
868      195,  195,  195,  195,  195,  195,  195,  195,  202,  195,
869
870      203,  203,  203,  203,  203,  203,  203,  203,  203,  195,
871      195,  195,  195,  195,  195,  195,  204,  186,  204,  204,
872      204,  204,  205,  204,  118,  204,  204,  204,  206,  204,
873      204,  187,  204,  204,  204,  204,  207,  204,  204,  204,
874      204,  208,  204,  195,   93,  179,   93,  108,  108,  244,
875      245,  108,   78,  108,  108,  108,   78,  108,  108,  179,
876      108,  108,  108,   82,  108,  261,  197, 1102,  108,  108,
877      108,  266,  108,  108,  108,  108,  108,  108,  108,   95,
878      108,  108,  108,   96,  108,   97,  108,  108,  247,  108,
879       98,  549,   99,  100,  376,  275,  340,  108,  108,  519,
880
881      269,  108,  101,  239,  239,  239,  239,  239,  239,  239,
882      239,  239,  108,  108,  277,  550,  108,  357,  108,   82,
883      108,  303,  108,  240,  241,  246,  108,  108,  108,  108,
884      108,  108,  108,  108,  108,  337,  242,  108,  248,  108,
885      249,  168,  108,  108,  274,  108,  108,  108,  108,  250,
886      108,  291,  278,  251,  278,  108,  108,  108,  108,  108,
887      108,  108,  108,  337,  378,  179,  108,  108,  287,  168,
888      246,  108,  108,  262,  271,  262,  366,  103,  366,  108,
889      280,  272,  280,  108,  108,  273,  108,  108,  283,  106,
890      281,  263,  263,  263,  263,  263,  263,  263,  263,  263,
891
892      284,  108,  285,  108,  108,  286,  279,  288,  108,  108,
893      108,  368,  290,  540,  366,  245,  108,  659,  518,  108,
894      108,  289,  108,  292,  168,  108,  108,  108,  264,  293,
895      265,  294,  108,  108,  108,  108,  313,  108,  295,  108,
896      108,  297,  108,  304,  539,  305,  108,  108,  300, 1100,
897      301,  108,  298,  296,  244,  299,  302,  108,  310,  108,
898      108,  306,  307,  108,  108,  308,  108,  309,  108,  316,
899      108,  108,  311,  108,  320,  354,  355,  354,  108,  312,
900      317,  321,  322,  108,  318,  108,  108,  108,  319,  324,
901      108,  325,  167,  108,  323,  108,  327,  168,  325,  167,
902
903      108,  108,  193,  108,  168,  343,  108,  343,  327,   78,
904      325,  167,  253,  373,  349,  373,  168,  108,  108,  346,
905       78,  108,  197,  108,  108,  348,  169,  170,  351,  383,
906      171,  383,  366,  169,  170,  108,  350,  171,  108,  179,
907      344,  108,  531,  326,  173,  169,  170,  256,  347,  171,
908      326,  173,  108,  258,  345,  691,  356,  359,  197,  359,
909      377,  220,  326,  173,  327,  175,  335,  167,  380,  222,
910      220,  541,  168,   86,  385,  197,  385,  380,  222, 1096,
911       87,   88,  336,  336,  336,  336,  336,  336,  336,  336,
912      336,   86,  360,  521,  197,  219,  220,  219,   87,   88,
913
914      108,  169,  170,  221,  222,  171,  361,  219,  220,  219,
915      387,  411,  387,  225,  226,  221,  222,  108,  326,  173,
916      197,  402,  404,  402,  404,  518,  227,  382,  406,  533,
917      406,  168,  343,  545,  343,  545,  381,  362,  362,  362,
918      362,  362,  362,  362,  362,  362,  353,  353,  197,  353,
919      353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
920      353,  353,  353,  363,  353,  364,  364,  364,  364,  364,
921      364,  364,  364,  364,  353,  353,  353,  353,  353,  353,
922      353,  365,  365,  365,  365,  365,  365,  365,  365,  365,
923      365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
924
925      365,  365,  365,  365,  365,  365,  365,  365,  353,  108,
926      413,  108,  657,  108,  280,  366,  280,  108,  168,  108,
927      108, 1093,  108,  108,  281,  415,  108,  418,  108,  412,
928      108,  414,  416,  417,  108,  108,  108,  108,  108,  420,
929      108,  421,  108,  108,  108,  542,  108,  108, 1091,  419,
930      428,  425,  108,  432,  422,  108,  108,  423,  426,  108,
931      108,  108,  424,  108,  108,  108,  430,  427,  108,  108,
932      108,  108,  108,  108,  451,  431,  433,  444,  108,  445,
933      366,  445,  108,  108, 1088,  108,  108,  449,  108,  108,
934      434,  108,  434,  108,  108,  108,  447,  448,  450,  108,
935
936      108,  453,  278,  684,  278,  452,  108,  108, 1086,  446,
937      108,  108,  108, 1085,  108,  108,  108,  456,  108,  108,
938      435,  455,  179,  108,  108,  108,  457, 1082,  436,  108,
939      437,  108,  108,  438,  197,  108,  108,  439,  458,  459,
940      440,  108,  108,  441,  442,  460,  108,  443,  108,  463,
941      467,  463,  467,  108,  462,  108,  454,  472,  461,  464,
942      468,  478,  108,  108,  108,  108,  474,  520,  471,  108,
943      108, 1080,  108,  108,  473,  108,  108,  108,  108,  108,
944      535,  108,  476,  477,  108,  108,  108,  108,  475,  480,
945      108,  479,  108,  108,  498,  465,  469,  108,  108,  108,
946
947      481,  108,  108,  483,  108,  466,  470,  108,  482,  484,
948      485,  108,  108,  108,  108,  108,  108, 1078,  486,  487,
949      108,  490,  108,  108,  108,  108,  491,  492,  108,  108,
950      108,  488,  489,  493,  108,  108,   78,  108,  108,  108,
951      108,  494,  108,  108,  495,  108,  499,  108,  499,  108,
952      501,  108,  108,  497,  496,  108,  500,  108,  503,  504,
953      108,  108,  108,  502,  108,  507,  505,  508,  167,  518,
954      197,  108,  108,  168,  108,  168,  525,  530,  108,  527,
955      506,  108,  197,  103,  509,  548,  508,  167,  108,  108,
956      526,  509,  168,  508,  167, 1074,  108,  197,  108,  168,
957
958      108,  528,  169,  170,   82,  179,  171,  108,  193,  108,
959      108,  529,  354,  355,  354,  532,  559,  108,  559,  326,
960      173,  169,  170,  220,  108,  171,  108,  108,  169,  170,
961      380,  222,  171,  359,  197,  359, 1068,  534,  326,  173,
962      108,  561,  551,  561,   86,  326,  173,  509,  175,  516,
963      167,   87,   88,   86, 1073,  168,  658,  108,  563,  673,
964       87,   88,  445, 1070,  445,  517,  517,  517,  517,  517,
965      517,  517,  517,  517,  384,  384,  384,  384,  384,  384,
966      384,  384,  384,  657,  169,  170,  225,  226,  171,  168,
967      366,  553,  446,  688, 1069,  688,  552,  108,  108,  227,
968
969      565,  326,  173,  197,  384,  384,  384,  384,  384,  384,
970      384,  384,  384,  685,  108,  108,  179,  668,  197,  668,
971      362,  362,  362,  362,  362,  362,  362,  362,  362,  386,
972      386,  386,  386,  386,  386,  386,  386,  386,  108,  108,
973      197,  536,  197,  386,  386,  386,  386,  386,  386,  386,
974      386,  386,  168,  197,  660,  108,  108,  566,  168,  537,
975      537,  537,  537,  537,  537,  537,  537,  537,  388,  388,
976      388,  388,  388,  388,  388,  388,  388,  108,  567,  108,
977      538,  197,  388,  388,  388,  388,  388,  388,  388,  388,
978      388,  675,  674,  569,  108,  108,  108, 1066,  362,  362,
979
980      362,  362,  362,  362,  362,  362,  362,  403,  403,  403,
981      403,  403,  403,  403,  403,  403,  403,  403,  403,  403,
982      403,  403,  403,  403,  403,  405,  405,  405,  405,  405,
983      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
984      405,  405,  405,  407,  407,  407,  407,  407,  407,  407,
985      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
986      407,  108,  108,  108,  108,  564,  568,  108,  197,  108,
987      108,  108,  571,  572,  570,  108, 1064,  108,  108,  108,
988      108,  108,  573,  574,  108,  108,  108,  108,  108,  108,
989      108,  590,  108,  578,  108,  197,  576,  577,  579,  108,
990
991      579,  108,  108,  108,  592,  108,  108,  108,  366,  596,
992      591,  108,  593,  108,  108,  594,  108,  677,  108,  108,
993      595,  599,  108,  108,  607,  597,  607,  108,  108,  723,
994      108,  108,  610,  108,  600,  598,  108,  724,  601,  179,
995      606,  580, 1049,  108,  108,  682,  609,  108,  108,  108,
996      108,  168,  108,  108,  608,  581,  434,  168,  434,  108,
997      108,  613,  611,  727,  108,  108,  108,  108,  614,  108,
998      108,  615, 1063,  617,  616,  108,  108,  621,  871,  728,
999      618,  108, 1061,  108,  619,  463,  435,  463,  108,  620,
1000      623,  467,  108,  467,  582,  464,  583, 1056,  108,  584,
1001
1002     1055,  468,  622,  585,   86,  108,  586,  108,  625,  587,
1003      588,  698,  699,  589,  602,  602,  602,  602,  602,  602,
1004      602,  602,  602,  602,  602,  108,  602,  602,  602,  602,
1005      602,  603,  602,  604,  604,  604,  604,  604,  604,  604,
1006      604,  604,  602,  602,  602,  602,  602,  602,  602,  605,
1007      605,  605,  605,  605,  605,  605,  605,  605,  605,  605,
1008      605,  605,  605,  605,  605,  605,  605,  605,  605,  605,
1009      605,  605,  605,  605,  605,  605,  602,  108,  108,  108,
1010      108,  108,  108,  108,  785, 1054,  785,  108, 1051,  626,
1011      627,  624,  108,  108,  108,  108,  108,  108,  108,  108,
1012
1013      108,  628,  108,  108,  108,  629,  630,  633,  108,  108,
1014      108,  631,  108,  108,  636,  108,  108,  108,  108,  108,
1015      108,  635,  632,  108,  108,  634,  108,  638,  641,  108,
1016      108,  640,  637,  108,  639,  108,  108,  108,  108,  642,
1017      108,  108,  108,  108,  108,  108,  108,  499,  108,  499,
1018      108,  197,  644,  108,  108,  108,  179,  500,  108,  108,
1019      643,  108,  108,  108,  108,  108,  108,  108,  108, 1050,
1020      645,  647,  646,  648,  167,  669,  657,   82, 1045,  168,
1021      108,  108,  168,  108,  701,  108,  649,  366,  648,  167,
1022      103, 1044,  108,  649,  168,  648,  167,  108,  780,  667,
1023
1024      705,  168,  676,  668,  664,  668,  664,  571,  169,  170,
1025      795,  668,  171,  668,  665,  694,  108,  108,  108,  108,
1026      108,   86,  707,  169,  170,  326,  173,  171,   87,   88,
1027      169,  170, 1042,  706,  171,  108,  108,  108,  108,  108,
1028      326,  173,  666, 1041,  670,  108,  670,  326,  173,  649,
1029      175,  655,  167,  197,  671,  108,  108,  168,  672,  696,
1030      108,  193,  108,  108,  709,  108,  108,  656,  656,  656,
1031      656,  656,  656,  656,  656,  656,  708,  108,  710,  108,
1032      108,  108,  108,  108,  712,  108,  169,  170, 1048,  714,
1033      171,  607,  785,  607,  785,  711,  108, 1040,  108,  108,
1034
1035      877,  108,  108,  326,  173,  197,  560,  560,  560,  560,
1036      560,  560,  560,  560,  560, 1038,  108,  678,  108,  678,
1037      179,  608,  679,  679,  679,  679,  679,  679,  679,  679,
1038      679,  197,  560,  560,  560,  560,  560,  560,  560,  560,
1039      560, 1031,  179,  794,  197,  794, 1030, 1029,  537,  537,
1040      537,  537,  537,  537,  537,  537,  537,  562,  562,  562,
1041      562,  562,  562,  562,  562,  562,  108, 1028, 1016,  536,
1042      197,  562,  562,  562,  562,  562,  562,  562,  562,  562,
1043      781,  108,  680,  108,  680,  732,  719,  681,  681,  681,
1044      681,  681,  681,  681,  681,  681,  687,  687,  108,  687,
1045
1046      687,  687,  687,  687,  687,  687,  687,  687,  687,  687,
1047      687,  687,  687,  702,  687,  703,  703,  703,  703,  703,
1048      703,  703,  703,  703,  687,  687,  687,  687,  687,  687,
1049      687,  704,  704,  704,  704,  704,  704,  704,  704,  704,
1050      704,  704,  704,  704,  704,  704,  704,  704,  704,  704,
1051      704,  704,  704,  704,  704,  704,  704,  704,  687,  108,
1052      108,  579,  108,  579,  108,  108,  108,  716,  108,  720,
1053      715,  733,  108,  736,  739,  735,  108,  108,  731,  108,
1054      734,  108,  108,  108,  108,  108,  108, 1025, 1024,  108,
1055      738,  108,  740,  409,  740,  244,  193,  409,  108,  737,
1056
1057      108,  108,  108,  108,  717,  243,  243,  243,  243,  243,
1058      243,  243,  243,  243,  108,  108,  108,  108,  718,  108,
1059      108,  743,  741,  108,  108,  745,  108,  108,  744,  742,
1060      108,  108,  108,  108,  748,  746,  108,  108,  789,  108,
1061      108,  108,  752,  747,  108,  108,  108,  108,  753,  108,
1062      750,  197,  751,  108,  108,  749,  108,  108,  108,  108,
1063      755,  108,  108,  108,  108,  754,  108,  108,  756,  758,
1064      757,  108,  108,  108,  108,  108,  760,  759,  108,  108,
1065      763,  108,  108,  108,  108,  108,  761,  764,  108,  108,
1066      108,  108,  108,  792,  108,  769,  108,  108,  762,  108,
1067
1068      108,  108,  108,  108, 1018,  108,  766,  768,  108,  108,
1069      767,  108,  108,  108,  664,  197,  664,  108,  108,  770,
1070      108,  771,  772,  773,  665,  774,  167,  168, 1017,  108,
1071      108,  168,  775,  168,  774,  167,  664,  670,  664,  670,
1072      168,  103,  775,  197,  774,  167,  665,  671,  108,  108,
1073      168,  672,  776,  786,  879,   86,  787,  794,  197,  794,
1074      169,  170,  806,  807,  171,  108,  108,  108,   86,  169,
1075      170,  108,  244,  171,  776,   87,   88,  326,  173,  169,
1076      170,  790,  788,  171,  108,  193,  326,  173,  108, 1015,
1077      672,  108,  672,  670, 1012,  670,  326,  173,  775,  175,
1078
1079      779,  167,   86,  671,  672,  108,  168,  672,  108,   87,
1080       88,  243,  243,  243,  243,  243,  243,  243,  243,  243,
1081      812,  108,  108,  986,  811,  108,  108,  108,  108,  108,
1082      816,  108,  819,  108,  819,  169,  170,  108,  108,  171,
1083      813,  817,  108,  108,  108,  108,  108,  815,  108,  814,
1084      108,  108,  326,  173,  197,  822,  740, 1011,  740,  819,
1085      876,  819,  876,  876,  108,  876,  108,  108,  108,  820,
1086      825,  679,  679,  679,  679,  679,  679,  679,  679,  679,
1087      197,  839,  821,  108,  108,  965,  741,  965, 1009, 1001,
1088      108,  108,  834,  108,  108,  835,  891,  679,  679,  679,
1089
1090      679,  679,  679,  679,  679,  679,  197,  108,  108,  892,
1091      108,  841,  179,  836, 1000,  999,  108,  108,  843,  108,
1092      108,  838,  837,  681,  681,  681,  681,  681,  681,  681,
1093      681,  681,  197,  108,  108,  108,  850,  108,  862,   86,
1094      862,  983, 1007,  984, 1007,  934,   87,   88,  863,  681,
1095      681,  681,  681,  681,  681,  681,  681,  681,  791,  791,
1096      197,  791,  791,  791,  791,  791,  791,  791,  791,  791,
1097      791,  791,  791,  791,  791,  796,  791,  797,  797,  797,
1098      797,  797,  797,  797,  797,  797,  791,  791,  791,  791,
1099      791,  791,  791,  798,  798,  798,  798,  798,  798,  798,
1100
1101      798,  798,  798,  798,  798,  798,  798,  798,  798,  798,
1102      798,  798,  798,  798,  798,  798,  798,  798,  798,  798,
1103      791,  800,  800,   86,  800, 1036,  998, 1036,  800,  800,
1104       87,   88,  800,  997,  996,  800,  800,  800,  800,  800,
1105      800,  800,  800,  799,  799,  995,  799,  799,  799,  799,
1106      799,  799,  799,  799,  799,  799,  799,  799,  799,  799,
1107      808,  799,  809,  809,  809,  809,  809,  809,  809,  809,
1108      809,  799,  799,  799,  799,  799,  799,  799,  810,  810,
1109      810,  810,  810,  810,  810,  810,  810,  810,  810,  810,
1110      810,  810,  810,  810,  810,  810,  810,  810,  810,  810,
1111
1112      810,  810,  810,  810,  810,  799,  108,  108,  108,  844,
1113      840,  844,  108,  108,  851,  179,  108,  848,  842,  845,
1114      847,  108,  846,  108,  108,  108,  108,  992,  108,  108,
1115      108,  108,  849,  108,  852,  108,  108,  853,  108,  108,
1116      854,  108,  854,  108,  108,  108,  857,  108,  108, 1113,
1117      108,  108,  108,  108,  860,  108,  108,  108,  108,  856,
1118      108,  108,  108,  108,  108,  859,  858,  108,  108,  861,
1119      864,  108,  108,  197,  108,  108,  865,  108,  865,  108,
1120      108,  108,  773,  108,  775,  167,  108,  179,  108,  108,
1121      855,  874,  108,  775,  991,  774,  167,  108,  108,  867,
1122
1123      108,  168,  775,  108,  775,  167,  108,  876,  108,  876,
1124      244,  108,  865,  866,  865,  108,  888,  885,  883,  169,
1125      170,  875,  884,  171,  982,  108, 1084,  108,  108,  108,
1126      169,  170,  108,  108,  171,  108,  326,  173,  108,  169,
1127      170,  108,  108,  171,  894,  886,  108,  326,  173,  929,
1128      981, 1059,  889, 1059,  980,  108,  326,  173,  108,  108,
1129      878,  878,  197,  878,  878,  878,  878,  878,  878,  878,
1130      878,  878,  878,  878,  878,  878,  878,  880,  878,  881,
1131      881,  881,  881,  881,  881,  881,  881,  881,  878,  878,
1132      878,  878,  878,  878,  878,  882,  882,  882,  882,  882,
1133
1134      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
1135      882,  882,  882,  882,  882,  882,  882,  882,  882,  882,
1136      882,  882,  878,  197,  243,  243,  243,  243,  243,  243,
1137      243,  243,  243,  108,  108,  108,  108,  887,  108,  108,
1138      362,  362,  362,  362,  362,  362,  362,  362,  362,  893,
1139      108,  108,  108,  896,  108,  108,  906,  905,  108,  108,
1140      108,  909,  108,  108,  108,  907,  977,  911,  912,  975,
1141      972,  108,  108,  108,  910,  908,  108,  108,  915,  108,
1142      108,  108,  844,  913,  844,  916,  918,  108,  917,  108,
1143      108,  108,  845,  108,  108,  108,  108,  920,  854,  108,
1144
1145      854,  108,  108,  108,  108,  108,  919,  921,  108,  926,
1146      108,  108,  108,  108,  925,  108,  108,  108,  923,  108,
1147      108,  924,  108,  108,  108,  862,  930,  862,  193,  108,
1148      936,  197,  108,  108,  108,  863,  108,  931,  108,  940,
1149      108,  108,  108,  108,  957,  928,  108,  108,  922,  108,
1150      108,  937,  108,  108,  108,  108,  941,  108,  108,  942,
1151      108,  938,  948,  108,  939,  197,  108,  950,  193,  108,
1152      944,  108,  947,  943,  108,  108,  108,  108,  961,  956,
1153      108,  959,  362,  362,  362,  362,  362,  362,  362,  362,
1154      362,  108,  108,  108,  108,  108,  960,  108,  108,  958,
1155
1156      915,  108,  179,  108,  179, 1047,  108,  916,  108,  108,
1157      917,  108,  967,  962,  108,  108,  964,  963,  108,  968,
1158      108,  915,  969,  108,  108,  108,  108,  108,  916,  970,
1159      108,  917,  971,  108,  108,  108,  108,  197,  108,  976,
1160      973,  108,  108,  108,  108,  108,  108,  108,  108, 1065,
1161      108,  974,  108,  108,  978,  108,  108, 1094,  979,  989,
1162      108,  108,  108,  108,  108,  108,  985,  108,  990,  108,
1163      108,  994,  955,  108,  987,  108,  988,  108,  108, 1003,
1164      108,  108,  993,  108,  108,  108,  108,  108,  108, 1002,
1165      197,  108,  108, 1006,  967, 1004,  108,  108,  108,  197,
1166
1167      108,  968,  108,  954,  969,  108,  967, 1005,  108, 1008,
1168      967, 1008,  967,  968,  108,  108,  969,  916,  108,  968,
1169      917,  108,  969, 1010,  108,  108,  108,  108,  108, 1013,
1170     1014,  108, 1022,  108,  953,  108,  108, 1021,  108, 1019,
1171     1023,  108,  108,  108,  108,  108,  108,  108,  108,  108,
1172      108, 1033,  108,  108,  108, 1027,  179, 1026, 1035,  108,
1173     1034, 1032,  952,  108,  108,  108,  108,  108,  108,  108,
1174      951,  108, 1037,  915, 1037,  108,  108,  108,  108, 1039,
1175      916,  108, 1052,  917,  108,  108,  108, 1046,  108, 1043,
1176      108,  108,  108,  108,  108,  108,  193, 1057,  108, 1053,
1177
1178      108, 1058,  179,  108,  108,  108,  108,  108,  108, 1062,
1179      108, 1060,  915, 1060,  108,  193,  108,  108, 1075,  916,
1180      108,  108,  917,  108, 1072,  949, 1076, 1071, 1076, 1067,
1181      108,  108,  108,  108, 1077,  915, 1077,  108,  108,  193,
1182     1079,  108,  916,  179,  915,  917, 1087,  108,  108,  108,
1183     1081,  916, 1083,  179,  917,  108, 1089, 1089, 1092, 1089,
1184      179, 1097,  946, 1089, 1089,  108,  193, 1089,  179,  193,
1185     1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1090,  915,
1186     1090,  108,  193,  193,  179, 1101,  916, 1095,  193,  917,
1187      915, 1111,  193, 1103, 1098, 1098, 1107, 1099,  108, 1104,
1188
1189      917, 1098, 1098,  108,  108, 1098,  193,  193, 1098, 1098,
1190     1098, 1098, 1098, 1098, 1098, 1098,  915,  967,  193, 1109,
1191      108,  108, 1112,  916,  968, 1114,  917,  969,  193, 1108,
1192      384, 1110,  384,  386,  388,  386,  388, 1115,  403,  945,
1193      403, 1116,  405,  366,  405, 1119,  407,  560,  407,  560,
1194      197,  562, 1120,  562,  935,  179,  933, 1118,  932,  927,
1195      904,  903,  902,  901,  900,  899,  898,  897,  895,  890,
1196       82,   78,   78,  366,  197,  197,  197,  873,  179,  179,
1197      870, 1121,   62,   62,   62,   62,   62,   62,   62,   62,
1198       62,   62,   62,   62,   62,   62,   62,   62,   62,   63,
1199
1200       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
1201       63,   63,   63,   63,   63,   63,   74,   74,  869,   74,
1202       74,   74,   74,   74,   74,   74,   74,   74,   74,   74,
1203       74,   74,   74,   77,   77,  868,   77,   77,   77,   77,
1204       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
1205       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
1206       81,   81,   81,   81,   81,   81,   81,   85,   85,   85,
1207       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
1208       85,   85,   85,   85,  104,  104,  833,  832,  831,  830,
1209      104,  108,  108,  108,  108,  108,  108,  108,  108,  108,
1210
1211      108,  178,  178,  178,  178,  178,  178,  178,  178,  178,
1212      178,  178,  178,  178,  178,  178,  178,  178,  184,  829,
1213      184,  828,  184,  184,  827,  826,  824,  823,  184,  192,
1214      192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
1215      192,  192,  192,  192,  192,  192,  195,  195,  195,  195,
1216      195,  195,  195,  195,  195,  195,  818,  195,  195,  195,
1217      195,   82,  195,  218,  218,  218,  218,  218,  218,  218,
1218      218,  218,  218,  218,  218,  218,  218,  218,  218,  218,
1219       94,   82,   78,   94,   94,  238,  238,  238,  238,   78,
1220      238,  238,  803,  238,  238,  366,  238,  238,  366,  197,
1221
1222      238,  238,  328,  328,  328,  328,  328,  328,  328,  328,
1223      328,  328,  328,  328,  328,  328,  328,  328,  328,  336,
1224      783,  336,  179,  778,  336,  341,  777,  341,  765,  341,
1225      341,  342,  342,  730,  342,  342,  342,  342,  342,  342,
1226      342,  342,  342,  342,  342,  342,  342,  342,  353,  353,
1227      353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1228      353,  353,  353,  353,  353,  358,  358,  358,  358,  358,
1229      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
1230      358,  358,  401,  729,  726,  401,  401,  262,  725,  262,
1231      722,  721,  713,  700,  262,   82,  693,  689,  686,  530,
1232
1233      663,  662,  262,  517,  530,  517,  654,  653,  517,  522,
1234      652,  522,  651,  522,  522,  656,  650,  656,  612,  575,
1235      656,  661,  408,  661,  558,  661,  661,  687,  687,  557,
1236      687,  687,  687,  687,  687,  687,  687,  687,  687,  687,
1237      687,  687,  687,  687,  690,  690,  556,  690,  690,  690,
1238      690,  690,  690,  690,  690,  690,  690,  690,  690,  690,
1239      690,  692,  692,  555,  692,  692,  692,  692,  692,  692,
1240      692,  692,  692,  692,  692,  692,  692,  692,  695,  695,
1241      695,  695,  695,  695,  695,  695,  695,  695,  695,  695,
1242      695,  695,  695,  695,  695,  697,  697,  697,  697,  697,
1243
1244      697,  697,  697,  697,  697,  697,  697,  697,  697,  697,
1245      697,  697,  782,  782,  782,  782,  782,  782,  782,  782,
1246      782,  782,  782,  782,  782,  782,  782,  782,  782,  104,
1247      554,  104,  547,  104,  104,  784,  784,  546,  784,  784,
1248      784,  784,  784,  784,  784,  784,  784,  784,  784,  784,
1249      784,  784,  791,  791,  791,  791,  791,  791,  791,  791,
1250      791,  791,  791,  791,  791,  791,  791,  791,  791,  793,
1251      793,  793,  793,  793,  793,  793,  793,  793,  793,  793,
1252      793,  793,  793,  793,  793,  793,  799,  799,  544,  799,
1253      799,  799,  799,  799,  799,  799,  799,  799,  799,  799,
1254
1255      799,  799,  799,  801,  801,  543,  801,  801,  801,  801,
1256      801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
1257      802,  802,  366,  802,  802,  802,  802,  802,  802,  802,
1258      802,  802,  802,  802,  802,  802,  802,  804,  804,  804,
1259      804,  804,  804,  804,  804,  804,  804,  804,  804,  804,
1260      804,  804,  804,  804,  805,  805,  805,  805,  805,  805,
1261      805,  805,  805,  805,  805,  805,  805,  805,  805,  805,
1262      805,  872,  872,  872,  872,  872,  872,  872,  872,  872,
1263      872,  872,  872,  872,  872,  872,  872,  872,  878,  878,
1264      878,  878,  878,  878,  878,  878,  878,  878,  878,  878,
1265
1266      878,  878,  878,  878,  878,  914,  914,  914,  914,  914,
1267      914,  914,  914,  914,  914,  914,  914,  914,  914,  914,
1268      914,  914,  966,  966,  966,  966,  966,  966,  966,  966,
1269      966,  966,  966,  966,  966,  966,  966,  966,  966,  197,
1270      197,  524,  523,  515,  514,  513,  512,  511,  510,  179,
1271      333,  429,  410,  408,  400,  399,  398,  395,  394,  393,
1272      392,  389,  375,  374,  372,  371,  366,  197,  197,  193,
1273      179,  334,  332,  331,  179,  237,  236,  229,  228,   82,
1274       82,   78,   78,  213,  212,  210,  209,  193,  188, 1123,
1275       64,   13, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1276
1277     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1278     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1279     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1280     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1281     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1282     1123, 1123, 1123, 1123, 1123
1283    } ;
1284
1285static yyconst flex_int16_t yy_chk[4256] =
1286    {   0,
1287        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1288        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1289        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1290        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1291        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1292        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1293        1,    1,    1,    2,    2,    2,    2,    8,   10,    8,
1294       15,   16,   15,   16,   22,   17,   14,   17,   18,   25,
1295       19,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1296       14,   20,   18,   10,   21,   23,   24,   26,   29,   28,
1297
1298        2,    2,   23,   23,    2,   20,   30,   25,   21,   31,
1299       15,   26,   33,   22,  986,   17,   19,    2,    2,   24,
1300       30,   25,   29,   31,   15,  172,   33,   22,   28,   17,
1301       19,   32,  172,   24,   23,   53,   29,   53,   80,   70,
1302       32,   70,   28,   40,   36,   36,   36,   40,   23,   27,
1303       40,   27,   79,   40,   32,   36,   57,   40,   84,   40,
1304       65,  986,   36,   36,   71,   65,   71,   27,   27,   27,
1305       27,   27,   27,   27,   27,   27,   72,   41,   72, 1121,
1306       73,   41,   73,   79,   27,   57,   80,   41,   27,   27,
1307       27,   41,   42,   42,   83,   27,   42,   27,   27,   57,
1308
1309       42,   42,   42,   27,  207,  118,   42,   27,   34,   84,
1310       34,   34,   34,   34,   34,   34,   34,   34,   34,   37,
1311       37,   37,  118,   94,   94,   43,   37,  180,   83,   43,
1312       37,  119,   34,   37,   85,   43,   94,   37,   37,   43,
1313      207,   85,   85,   37,   97,  119,   34,   35,  119,   35,
1314       35,   35,   35,   35,   35,   35,   35,   35,   98,   97,
1315       48,  180,   38,   38,   48,   38,   99,   35,   35,   38,
1316       48,   35,   38,   98,   48,   38,   99,   35,  117,   38,
1317       38,   39,   39, 1115,   35,   35,   44,  208,  205,  117,
1318       44,   39,  234,   39,   44,  117,   39,   39,   39,   39,
1319
1320       44,   45,   46,   39,   44,   45,   46,  205,  208,   45,
1321       61,   46,   46,   46,   61,   45,   46,   47,   46,   45,
1322       61,   47,   49,   55,   61,   47,   49,  234,   55,  181,
1323       49,   47,   50,  158,   47,   47,   49,   47,   49,   50,
1324       49,   49,   49,   50,   51,  194,   50,  158,  122,   50,
1325       59,   51,  169,   56,   59,   51,   50,   59,   51,   56,
1326       59,   51,   55,  181,   59,  122,  169,   56,   51,   52,
1327     1152,   52,   52,   60, 1152,  104,   55,   52,   87,  194,
1328       60,   66,   66,   66,   60,   87,   87,   60, 1100,  229,
1329       60,   56,  168,   66,   86,   86,   86,   60,  168,  104,
1330
1331      217,  129,   86,   86,   89,   56,   52,   52,   90,   52,
1332       52,   89,   89,  104,  126,   90,   90,  116,  129,  116,
1333      121,   66,  121,   52,   52,   54,   54,   54,   54,  229,
1334      177,  126,  126,   54,  116,   66,  177,  121,   89,  127,
1335      120,  540,  127,   54,   54,   54,   54,   54,   54,   54,
1336       54,   54,  120,  120,  217, 1096,  127,  120,  120,   90,
1337      133,  137,   54,   54,  540,   54,   54,  106,  106,  106,
1338      106,  106,  106,  106,  106,  106,  137,  133,  137,   54,
1339       54,   67,   67,   67,   67,   67,   67,   67,   67,   67,
1340       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
1341
1342       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
1343       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
1344       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
1345       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
1346       67,   67,   67,   67,   93,  182,   93,  108,  108,  107,
1347      109,  108,  214,  123,  109,  109,  377,  108,  109,  338,
1348      125,  108,  108,  378,  109,  123,  200, 1093,  109,  109,
1349      123,  125,  107,  107,  111,  111,  107,  125,  111,   93,
1350      128,  132,  107,   93,  111,   93,  107,  107,  111,  111,
1351       93,  377,   93,   93,  214,  132,  182,  128,  132,  338,
1352
1353      128,  134,   93,  103,  103,  103,  103,  103,  103,  103,
1354      103,  103,  110,  110,  134,  378,  110,  200,  134,  216,
1355      152,  152,  110,  103,  103,  110,  110,  110,  112,  112,
1356      113,  113,  112,  131,  113,  183,  103,  152,  112,  143,
1357      113,  183,  112,  112,  131,  114,  114,  113,  113,  114,
1358      131,  143,  135,  115,  135,  114,  143,  115,  115,  114,
1359      114,  115,  139,  184,  216,  520,  130,  115,  139,  184,
1360      115,  115,  115,  124,  130,  124,  368,  184,  206,  139,
1361      136,  130,  136,  130,  140,  130,  138,  135,  138,  124,
1362      136,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1363
1364      138,  140,  138,  138,  135,  138,  135,  140,  141,  142,
1365      144,  206,  142,  368,  367,  136,  145,  520,  336,  157,
1366      146,  141,  148,  144,  336,  141,  142,  144,  124,  145,
1367      124,  146,  136,  145,  147,  149,  157,  146,  147,  148,
1368      150,  148,  151,  153,  367,  153,  154,  155,  150, 1091,
1369      151,  147,  149,  147,  263,  149,  151,  150,  155,  151,
1370      153,  153,  153,  154,  155,  153,  156,  154,  159,  159,
1371      161,  160,  156,  162,  161,  196,  196,  196,  163,  156,
1372      159,  162,  163,  156,  160,  159,  164,  161,  160,  165,
1373      162,  165,  165,  263,  164,  163,  166,  165,  166,  166,
1374
1375      189,  186,  352,  164,  166,  185,  188,  185,  174,  215,
1376      174,  174,  186,  211,  189,  211,  174,  189,  186,  186,
1377      548,  190,  199,  188,  191,  188,  165,  165,  191,  225,
1378      165,  225,  369,  166,  166,  187,  190,  166,  190,  340,
1379      185,  191,  352,  165,  165,  174,  174,  187,  187,  174,
1380      166,  166,  187,  187,  185,  548,  199,  201,  201,  201,
1381      215,  218,  174,  174,  176,  176,  176,  176,  218,  218,
1382      221,  369,  176,  224,  226,  357,  226,  221,  221, 1086,
1383      224,  224,  176,  176,  176,  176,  176,  176,  176,  176,
1384      176,  223,  201,  340, 1084,  219,  219,  219,  223,  223,
1385
1386      245,  176,  176,  219,  219,  176,  201,  220,  220,  220,
1387      227,  245,  227,  239,  239,  220,  220,  245,  176,  176,
1388      202,  240,  241,  240,  241,  337,  239,  224,  242,  357,
1389      242,  337,  343,  373,  343,  373,  223,  202,  202,  202,
1390      202,  202,  202,  202,  202,  202,  203,  203,  203,  203,
1391      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
1392      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
1393      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
1394      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
1395      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
1396
1397      203,  203,  203,  203,  203,  203,  203,  203,  203,  246,
1398      247,  249,  517,  248,  280,  370,  280,  252,  517,  250,
1399      251, 1080,  254,  255,  280,  249,  246,  252,  249,  246,
1400      248,  248,  250,  251,  252,  247,  250,  251,  253,  254,
1401      255,  255,  256,  257,  258,  370,  261,  259, 1078,  253,
1402      261,  258,  247,  266,  256,  253,  260,  256,  259,  256,
1403      257,  258,  257,  261,  259,  264,  264,  260,  265,  269,
1404      266,  272,  267,  260,  275,  265,  267,  269,  271,  270,
1405      541,  270,  264,  273, 1074,  265,  269,  273,  272,  267,
1406      268,  275,  268,  276,  274,  271,  271,  271,  274,  277,
1407
1408      273,  277,  278,  541,  278,  276,  282,  279, 1070,  270,
1409      276,  274,  297, 1069,  270,  283,  277,  282,  284,  285,
1410      268,  279,  339,  282,  279,  268,  283, 1066,  268,  297,
1411      268,  270,  283,  268,  361,  284,  285,  268,  284,  285,
1412      268,  286,  268,  268,  268,  286,  287,  268,  290,  288,
1413      289,  288,  289,  291,  287,  292,  278,  291,  286,  288,
1414      289,  298,  293,  287,  294,  290,  293,  339,  290,  295,
1415      291, 1063,  292,  299,  292,  296,  300,  316,  298,  293,
1416      361,  294,  295,  296,  288,  289,  295,  301,  294,  300,
1417      299,  299,  296,  300,  316,  288,  289,  302,  303,  305,
1418
1419      301,  288,  289,  302,  301,  288,  289,  304,  301,  303,
1420      304,  306,  307,  308,  302,  303,  305, 1061,  304,  305,
1421      311,  308,  309,  310,  304,  313,  309,  310,  306,  307,
1422      308,  306,  307,  311,  312,  314,  376,  311,  315,  309,
1423      310,  312,  313,  318,  313,  320,  317,  321,  317,  322,
1424      318,  312,  314,  315,  314,  315,  317,  319,  320,  321,
1425      318,  323,  320,  319,  321,  324,  322,  324,  324,  341,
1426      356,  347,  346,  324,  319,  341,  346,  351,  323,  348,
1427      323,  317, 1048,  341,  325,  376,  325,  325,  347,  346,
1428      347,  327,  325,  327,  327, 1056,  348,  360,  317,  327,
1429
1430      349,  349,  324,  324,  379,  519,  324,  350,  531,  414,
1431      351,  350,  354,  354,  354,  356,  408,  349,  408,  324,
1432      324,  325,  325,  380,  350,  325,  414,  351,  327,  327,
1433      380,  380,  327,  359,  359,  359, 1048,  360,  325,  325,
1434      411,  410,  379,  410,  381,  327,  327,  335,  335,  335,
1435      335,  381,  381,  382, 1055,  335,  519,  411,  411,  531,
1436      382,  382,  445, 1051,  445,  335,  335,  335,  335,  335,
1437      335,  335,  335,  335,  383,  383,  383,  383,  383,  383,
1438      383,  383,  383,  518,  335,  335,  401,  401,  335,  518,
1439      542,  382,  445,  545, 1050,  545,  381,  416,  415,  401,
1440
1441      415,  335,  335,  362,  384,  384,  384,  384,  384,  384,
1442      384,  384,  384,  542,  416,  415,  521,  652, 1049,  652,
1443      362,  362,  362,  362,  362,  362,  362,  362,  362,  385,
1444      385,  385,  385,  385,  385,  385,  385,  385,  417,  418,
1445      532,  362,  363,  386,  386,  386,  386,  386,  386,  386,
1446      386,  386,  656,  533,  521,  417,  418,  418,  656,  363,
1447      363,  363,  363,  363,  363,  363,  363,  363,  387,  387,
1448      387,  387,  387,  387,  387,  387,  387,  419,  420,  422,
1449      363,  366,  388,  388,  388,  388,  388,  388,  388,  388,
1450      388,  533,  532,  422,  419,  420,  422, 1044,  366,  366,
1451
1452      366,  366,  366,  366,  366,  366,  366,  402,  402,  402,
1453      402,  402,  402,  402,  402,  402,  403,  403,  403,  403,
1454      403,  403,  403,  403,  403,  404,  404,  404,  404,  404,
1455      404,  404,  404,  404,  405,  405,  405,  405,  405,  405,
1456      405,  405,  405,  406,  406,  406,  406,  406,  406,  406,
1457      406,  406,  407,  407,  407,  407,  407,  407,  407,  407,
1458      407,  412,  421,  423,  424,  412,  421,  425,  535,  426,
1459      428,  427,  424,  426,  423,  432, 1042,  436,  412,  421,
1460      423,  424,  427,  428,  425,  430,  426,  428,  427,  431,
1461      437,  436,  432,  432,  436, 1022,  430,  431,  433,  438,
1462
1463      433,  439,  430,  440,  438,  441,  431,  437,  539,  441,
1464      437,  442,  438,  444,  443,  439,  438,  535,  439,  447,
1465      440,  443,  441,  449,  450,  441,  450,  451,  442,  584,
1466      444,  443,  452,  433,  444,  442,  447,  584,  447,  780,
1467      449,  433, 1022,  453,  451,  539,  451,  455,  457,  452,
1468      433,  657,  458,  456,  450,  433,  434,  657,  434,  450,
1469      453,  456,  453,  587,  455,  457,  459,  460,  457,  458,
1470      456,  458, 1040,  460,  459,  462,  450,  462,  780,  587,
1471      460,  461, 1038,  459,  460,  463,  434,  463,  465,  461,
1472      466,  467,  462,  467,  434,  463,  434, 1031,  461,  434,
1473
1474     1029,  467,  465,  434,  553,  465,  434,  466,  470,  434,
1475      434,  553,  553,  434,  448,  448,  448,  448,  448,  448,
1476      448,  448,  448,  448,  448,  470,  448,  448,  448,  448,
1477      448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1478      448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1479      448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1480      448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1481      448,  448,  448,  448,  448,  448,  448,  469,  471,  472,
1482      473,  474,  475,  476,  663, 1028,  663,  477, 1025,  471,
1483      472,  469,  480,  478,  469,  471,  472,  473,  474,  475,
1484
1485      476,  477,  479,  481,  477,  478,  479,  482,  483,  480,
1486      478,  480,  485,  484,  486,  487,  488,  489,  490,  479,
1487      481,  484,  481,  491,  482,  483,  492,  488,  492,  485,
1488      484,  490,  487,  488,  489,  490,  493,  486,  494,  495,
1489      491,  496,  497,  492,  501,  503,  498,  499,  502,  499,
1490      504,  534,  502,  493,  486,  494,  658,  499,  496,  497,
1491      498,  501,  503,  498,  495,  502,  505,  504,  506, 1024,
1492      505,  507,  506,  507,  507,  528,  522,  550, 1018,  507,
1493      563,  495,  522,  505,  563,  506,  508,  682,  508,  508,
1494      522, 1017,  528,  509,  508,  509,  509,  563,  658,  526,
1495
1496      565,  509,  534,  527,  525,  527,  525,  526,  507,  507,
1497      682,  668,  507,  668,  525,  550,  526,  565,  566,  568,
1498      567,  552,  567,  508,  508,  507,  507,  508,  552,  552,
1499      509,  509, 1015,  566,  509,  566,  568,  567,  527,  525,
1500      508,  508,  525, 1012,  529,  572,  529,  509,  509,  516,
1501      516,  516,  516, 1021,  529,  527,  525,  516,  529,  552,
1502      570,  789,  572,  569,  570,  571,  574,  516,  516,  516,
1503      516,  516,  516,  516,  516,  516,  569,  570,  571,  529,
1504      569,  573,  571,  574,  574,  576,  516,  516, 1021,  576,
1505      516,  607,  785,  607,  785,  573,  529, 1011,  573,  590,
1506
1507      789,  592,  576,  516,  516,  536,  559,  559,  559,  559,
1508      559,  559,  559,  559,  559, 1009,  590,  536,  592,  536,
1509      982,  607,  536,  536,  536,  536,  536,  536,  536,  536,
1510      536,  537,  560,  560,  560,  560,  560,  560,  560,  560,
1511      560, 1001,  659,  677,  677,  677,  999,  997,  537,  537,
1512      537,  537,  537,  537,  537,  537,  537,  561,  561,  561,
1513      561,  561,  561,  561,  561,  561,  593,  996,  982,  537,
1514      538,  562,  562,  562,  562,  562,  562,  562,  562,  562,
1515      659,  580,  538,  593,  538,  593,  580,  538,  538,  538,
1516      538,  538,  538,  538,  538,  538,  564,  564,  580,  564,
1517
1518      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
1519      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
1520      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
1521      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
1522      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
1523      564,  564,  564,  564,  564,  564,  564,  564,  564,  577,
1524      578,  579,  581,  579,  596,  591,  595,  578,  594,  581,
1525      577,  594,  597,  597,  600,  596,  577,  578,  591,  581,
1526      595,  596,  591,  595,  598,  594,  599,  992,  991,  597,
1527      599,  600,  601, 1153,  601,  604,  673, 1153,  605,  598,
1528
1529      609,  598,  610,  599,  579,  603,  603,  603,  603,  603,
1530      603,  603,  603,  603,  604,  605,  606,  609,  579,  610,
1531      611,  610,  601,  613,  615,  613,  616,  601,  611,  606,
1532      617,  604,  614,  606,  617,  614,  618,  611,  673,  620,
1533      613,  615,  621,  616,  601,  619,  622,  617,  622,  614,
1534      619,  676,  620,  618,  623,  618,  620,  625,  624,  621,
1535      624,  627,  619,  622,  628,  623,  626,  630,  625,  627,
1536      626,  623,  629,  632,  625,  624,  629,  628,  627,  633,
1537      634,  628,  631,  626,  630,  635,  631,  635,  637,  629,
1538      632,  638,  640,  676,  639,  640,  633,  634,  633,  631,
1539
1540      641,  643,  635,  644,  984,  637,  637,  639,  638,  640,
1541      638,  639,  645,  646,  650,  792,  650,  641,  643,  641,
1542      644,  643,  644,  647,  650,  647,  647,  661,  983,  645,
1543      646,  647,  648,  661,  648,  648,  664,  654,  664,  654,
1544      648,  661,  649,  674,  649,  649,  664,  654,  667,  666,
1545      649,  654,  650,  666,  792,  696,  667,  794,  794,  794,
1546      647,  647,  696,  696,  647,  667,  666,  704,  697,  648,
1547      648,  669,  703,  648,  664,  697,  697,  647,  647,  649,
1548      649,  674,  669,  649,  704,  938,  648,  648,  669,  980,
1549      672,  703,  672,  670,  977,  670,  649,  649,  655,  655,
1550
1551      655,  655,  698,  670,  672,  705,  655,  670,  703,  698,
1552      698,  702,  702,  702,  702,  702,  702,  702,  702,  702,
1553      706,  707,  705,  938,  705,  708,  709,  710,  711,  716,
1554      711,  719,  714,  712,  714,  655,  655,  706,  707,  655,
1555      707,  712,  708,  709,  710,  711,  716,  710,  719,  709,
1556      712,  715,  655,  655,  678,  715,  740,  975,  740,  819,
1557      870,  819,  870,  876,  736,  876,  720,  714,  715,  714,
1558      720,  678,  678,  678,  678,  678,  678,  678,  678,  678,
1559      679,  736,  714,  720,  714,  915,  740,  915,  972,  956,
1560      731,  732,  731,  733,  738,  732,  819,  679,  679,  679,
1561
1562      679,  679,  679,  679,  679,  679,  680,  731,  732,  819,
1563      733,  738,  871,  733,  955,  954,  734,  735,  742,  748,
1564      749,  735,  734,  680,  680,  680,  680,  680,  680,  680,
1565      680,  680,  681,  734,  735,  742,  748,  749,  765,  805,
1566      765,  935,  965,  935,  965,  871,  805,  805,  765,  681,
1567      681,  681,  681,  681,  681,  681,  681,  681,  684,  684,
1568      684,  684,  684,  684,  684,  684,  684,  684,  684,  684,
1569      684,  684,  684,  684,  684,  684,  684,  684,  684,  684,
1570      684,  684,  684,  684,  684,  684,  684,  684,  684,  684,
1571      684,  684,  684,  684,  684,  684,  684,  684,  684,  684,
1572
1573      684,  684,  684,  684,  684,  684,  684,  684,  684,  684,
1574      684,  684,  684,  684,  684,  684,  684,  684,  684,  684,
1575      684,  688,  688,  806,  688, 1007,  953, 1007,  688,  688,
1576      806,  806,  688,  952,  951,  688,  688,  688,  688,  688,
1577      688,  688,  688,  701,  701,  949,  701,  701,  701,  701,
1578      701,  701,  701,  701,  701,  701,  701,  701,  701,  701,
1579      701,  701,  701,  701,  701,  701,  701,  701,  701,  701,
1580      701,  701,  701,  701,  701,  701,  701,  701,  701,  701,
1581      701,  701,  701,  701,  701,  701,  701,  701,  701,  701,
1582      701,  701,  701,  701,  701,  701,  701,  701,  701,  701,
1583
1584      701,  701,  701,  701,  701,  701,  737,  739,  744,  743,
1585      737,  743,  745,  746,  750, 1111,  751,  746,  739,  743,
1586      745,  753,  744,  737,  739,  744,  752,  946,  747,  745,
1587      746,  750,  747,  751,  751,  754,  755,  752,  753,  756,
1588      757,  758,  757,  752,  743,  747,  759,  760,  761, 1111,
1589      762,  764,  754,  755,  762,  767,  756,  763,  758,  758,
1590      768,  743,  766,  759,  760,  761,  760,  762,  764,  763,
1591      766,  769,  767, 1068,  763,  757,  770,  768,  770,  766,
1592      771,  772,  773,  810,  773,  773,  786,  934,  769,  814,
1593      757,  786,  757,  774,  945,  774,  774,  771,  772,  771,
1594
1595      810,  774,  775,  786,  775,  775,  814,  788,  787,  788,
1596      809,  770,  865,  770,  865,  812,  816,  812,  811,  773,
1597      773,  787,  811,  773,  934,  787, 1068,  821,  770,  809,
1598      774,  774,  812,  816,  774,  811,  773,  773,  817,  775,
1599      775,  813,  788,  775,  821,  813,  809,  774,  774,  865,
1600      933, 1036,  817, 1036,  932,  817,  775,  775,  813,  788,
1601      795,  795,  795,  795,  795,  795,  795,  795,  795,  795,
1602      795,  795,  795,  795,  795,  795,  795,  795,  795,  795,
1603      795,  795,  795,  795,  795,  795,  795,  795,  795,  795,
1604      795,  795,  795,  795,  795,  795,  795,  795,  795,  795,
1605
1606      795,  795,  795,  795,  795,  795,  795,  795,  795,  795,
1607      795,  795,  795,  795,  795,  795,  795,  795,  795,  795,
1608      795,  795,  795,  796,  808,  808,  808,  808,  808,  808,
1609      808,  808,  808,  815,  822,  820,  825,  815,  834,  835,
1610      796,  796,  796,  796,  796,  796,  796,  796,  796,  820,
1611      815,  822,  820,  825,  836,  834,  835,  834,  837,  838,
1612      839,  838,  840,  841,  842,  836,  929,  841,  842,  927,
1613      922,  836,  843,  846,  839,  837,  838,  839,  845,  840,
1614      841,  842,  844,  843,  844,  845,  846,  847,  845,  843,
1615      846,  848,  844,  849,  850,  851,  853,  851,  854,  852,
1616
1617      854,  855,  856,  857,  847,  858,  847,  852,  848,  858,
1618      849,  850,  851,  853,  857,  859,  852,  860,  855,  856,
1619      857,  856,  858,  861,  864,  862,  866,  862,  877,  867,
1620      874,  879,  859,  875,  860,  862,  884,  867,  883,  883,
1621      861,  864,  886,  866,  904,  864,  867,  874,  854,  887,
1622      875,  875,  885,  884,  888,  883,  885,  889,  894,  886,
1623      893,  877,  894,  896,  879,  880,  887,  896, 1020,  885,
1624      889,  888,  893,  888,  889,  894,  906,  893,  908,  902,
1625      896,  906,  880,  880,  880,  880,  880,  880,  880,  880,
1626      880,  905,  907,  906,  909,  908,  907,  910,  911,  905,
1627
1628      914,  913, 1043,  912, 1081, 1020,  918,  914,  905,  907,
1629      914,  909,  916,  909,  910,  911,  912,  910,  913,  916,
1630      912,  917,  916,  918,  919,  920,  923,  924,  917,  920,
1631      921,  917,  921,  925,  926,  928,  930,  939,  937,  928,
1632      923,  919,  920,  923,  924,  931,  936,  921,  940, 1043,
1633      925,  926,  928,  930,  930,  937,  941, 1081,  931,  940,
1634      942,  944,  931,  936,  943,  940,  936,  947,  943,  948,
1635      950,  948,  901,  941,  939,  958,  939,  942,  944,  959,
1636      960,  943,  947,  961,  947,  962,  948,  950,  963,  958,
1637      988,  964,  958,  964,  966,  961,  959,  960,  970,  987,
1638
1639      961,  966,  962,  900,  966,  963,  968,  963,  964,  967,
1640      967,  967,  969,  968,  971,  970,  968,  967,  974,  969,
1641      967,  973,  969,  973,  976,  978,  979,  990,  985,  978,
1642      979,  971,  988, 1004,  899,  974,  989,  987,  973,  985,
1643      989,  976,  978,  979,  990,  985,  993,  994, 1002, 1003,
1644     1004, 1003, 1005,  989, 1006,  994, 1016,  993, 1006, 1013,
1645     1005, 1002,  898,  993,  994, 1002, 1003, 1014, 1019, 1005,
1646      897, 1006, 1008, 1008, 1008, 1010, 1013, 1023, 1026, 1010,
1647     1008, 1027, 1026, 1008, 1014, 1019, 1032, 1019, 1034, 1016,
1648     1035, 1046, 1010, 1033, 1023, 1026, 1047, 1033, 1027, 1027,
1649
1650     1057, 1034, 1065, 1032, 1052, 1034, 1039, 1035, 1046, 1039,
1651     1033, 1037, 1037, 1037, 1058, 1067, 1053, 1057, 1058, 1037,
1652     1062, 1052, 1037, 1039, 1053,  895, 1059, 1052, 1059, 1047,
1653     1071, 1058, 1072, 1053, 1060, 1060, 1060, 1062, 1075, 1083,
1654     1062, 1079, 1060, 1103, 1089, 1060, 1072, 1071, 1087, 1072,
1655     1065, 1089, 1067, 1109, 1089, 1075, 1076, 1076, 1079, 1076,
1656     1094, 1087,  892, 1076, 1076, 1087, 1095, 1076, 1107, 1110,
1657     1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1077, 1077,
1658     1077, 1092, 1104, 1108, 1113, 1092, 1077, 1083, 1114, 1077,
1659     1090, 1109, 1112, 1094, 1090, 1090, 1103, 1090, 1092, 1095,
1660
1661     1090, 1090, 1090, 1097, 1101, 1090, 1116, 1118, 1090, 1090,
1662     1090, 1090, 1090, 1090, 1090, 1090, 1098, 1099, 1119, 1107,
1663     1097, 1101, 1110, 1098, 1099, 1112, 1098, 1099, 1120, 1104,
1664     1145, 1108, 1145, 1146, 1147, 1146, 1147, 1113, 1149,  891,
1665     1149, 1114, 1150,  882, 1150, 1118, 1151, 1157, 1151, 1157,
1666      878, 1158, 1119, 1158,  873,  872,  869, 1116,  868,  863,
1667      833,  832,  831,  830,  829,  828,  827,  826,  824,  818,
1668      804,  803,  802,  798,  793,  791,  790,  783,  782,  781,
1669      778, 1120, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1670     1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125,
1671
1672     1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1673     1125, 1125, 1125, 1125, 1125, 1125, 1126, 1126,  777, 1126,
1674     1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
1675     1126, 1126, 1126, 1127, 1127,  776, 1127, 1127, 1127, 1127,
1676     1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1677     1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1678     1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129, 1129,
1679     1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1680     1129, 1129, 1129, 1129, 1130, 1130,  730,  729,  728,  727,
1681     1130, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1682
1683     1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1684     1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133,  726,
1685     1133,  725, 1133, 1133,  724,  722,  718,  717, 1133, 1134,
1686     1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1687     1134, 1134, 1134, 1134, 1134, 1134, 1135, 1135, 1135, 1135,
1688     1135, 1135, 1135, 1135, 1135, 1135,  713, 1135, 1135, 1135,
1689     1135,  695, 1135, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1690     1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1691     1137,  694,  693, 1137, 1137, 1138, 1138, 1138, 1138,  692,
1692     1138, 1138,  691, 1138, 1138,  685, 1138, 1138,  683,  675,
1693
1694     1138, 1138, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1695     1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1140,
1696      662, 1140,  660,  653, 1140, 1141,  651, 1141,  636, 1141,
1697     1141, 1142, 1142,  589, 1142, 1142, 1142, 1142, 1142, 1142,
1698     1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1143, 1143,
1699     1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
1700     1143, 1143, 1143, 1143, 1143, 1144, 1144, 1144, 1144, 1144,
1701     1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1702     1144, 1144, 1148,  588,  586, 1148, 1148, 1154,  585, 1154,
1703      583,  582,  575,  556, 1154,  551,  549,  546,  543,  530,
1704
1705      524,  523, 1154, 1155,  515, 1155,  514,  513, 1155, 1156,
1706      512, 1156,  511, 1156, 1156, 1159,  510, 1159,  454,  429,
1707     1159, 1160,  409, 1160,  400, 1160, 1160, 1161, 1161,  398,
1708     1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
1709     1161, 1161, 1161, 1161, 1162, 1162,  397, 1162, 1162, 1162,
1710     1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1711     1162, 1163, 1163,  391, 1163, 1163, 1163, 1163, 1163, 1163,
1712     1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 1164,
1713     1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1714     1164, 1164, 1164, 1164, 1164, 1165, 1165, 1165, 1165, 1165,
1715
1716     1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1717     1165, 1165, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
1718     1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167,
1719      389, 1167,  375, 1167, 1167, 1168, 1168,  374, 1168, 1168,
1720     1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1721     1168, 1168, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169,
1722     1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170,
1723     1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1724     1170, 1170, 1170, 1170, 1170, 1170, 1171, 1171,  372, 1171,
1725     1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
1726
1727     1171, 1171, 1171, 1172, 1172,  371, 1172, 1172, 1172, 1172,
1728     1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1729     1173, 1173,  365, 1173, 1173, 1173, 1173, 1173, 1173, 1173,
1730     1173, 1173, 1173, 1173, 1173, 1173, 1173, 1174, 1174, 1174,
1731     1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174,
1732     1174, 1174, 1174, 1174, 1175, 1175, 1175, 1175, 1175, 1175,
1733     1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1734     1175, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
1735     1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177, 1177,
1736     1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1737
1738     1177, 1177, 1177, 1177, 1177, 1178, 1178, 1178, 1178, 1178,
1739     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1740     1178, 1178, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1741     1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,  358,
1742      353,  345,  344,  334,  333,  332,  331,  330,  329,  328,
1743      326,  262,  244,  243,  237,  236,  235,  233,  232,  231,
1744      230,  228,  213,  212,  210,  209,  204,  198,  195,  192,
1745      178,  173,  171,  170,  167,  101,  100,   96,   95,   82,
1746       81,   78,   77,   76,   75,   69,   68,   63,   58,   13,
1747        7, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1748
1749     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1750     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1751     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1752     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1753     1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1754     1123, 1123, 1123, 1123, 1123
1755    } ;
1756
1757static yy_state_type yy_last_accepting_state;
1758static char *yy_last_accepting_cpos;
1759
1760extern int fortran_flex_debug;
1761int fortran_flex_debug = 0;
1762
1763/* The intent behind this definition is that it'll catch
1764 * any uses of REJECT which flex missed.
1765 */
1766#define REJECT reject_used_but_not_detected
1767#define yymore() yymore_used_but_not_detected
1768#define YY_MORE_ADJ 0
1769#define YY_RESTORE_YY_MORE_OFFSET
1770char *fortrantext;
1771#line 1 "fortran.lex"
1772/******************************************************************************/
1773/*                                                                            */
1774/*     CONV (converter) for Agrif (Adaptive Grid Refinement In Fortran)       */
1775/*                                                                            */
1776/* Copyright or   or Copr. Laurent Debreu (Laurent.Debreu@imag.fr)            */
1777/*                        Cyril Mazauric (Cyril_Mazauric@yahoo.fr)            */
1778/* This software is governed by the CeCILL-C license under French law and     */
1779/* abiding by the rules of distribution of free software.  You can  use,      */
1780/* modify and/ or redistribute the software under the terms of the CeCILL-C   */
1781/* license as circulated by CEA, CNRS and INRIA at the following URL          */
1782/* "http://www.cecill.info".                                                  */
1783/*                                                                            */
1784/* As a counterpart to the access to the source code and  rights to copy,     */
1785/* modify and redistribute granted by the license, users are provided only    */
1786/* with a limited warranty  and the software's author,  the holder of the     */
1787/* economic rights,  and the successive licensors  have only  limited         */
1788/* liability.                                                                 */
1789/*                                                                            */
1790/* In this respect, the user's attention is drawn to the risks associated     */
1791/* with loading,  using,  modifying and/or developing or reproducing the      */
1792/* software by the user in light of its specific status of free software,     */
1793/* that may mean  that it is complicated to manipulate,  and  that  also      */
1794/* therefore means  that it is reserved for developers  and  experienced      */
1795/* professionals having in-depth computer knowledge. Users are therefore      */
1796/* encouraged to load and test the software's suitability as regards their    */
1797/* requirements in conditions enabling the security of their systems and/or   */
1798/* data to be ensured and,  more generally, to use and operate it in the      */
1799/* same conditions as regards security.                                       */
1800/*                                                                            */
1801/* The fact that you are presently reading this means that you have had       */
1802/* knowledge of the CeCILL-C license and that you accept its terms.           */
1803/******************************************************************************/
1804/* version 1.7                                                                */
1805/******************************************************************************/
1806
1807
1808
1809
1810
1811#line 41 "fortran.lex"
1812#include <math.h>
1813#include <stdlib.h>
1814#include <string.h>
1815extern FILE * fortranin;
1816#define MAX_INCLUDE_DEPTH 30
1817#define tabsize 6
1818YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
1819int line_num_fortran=1;
1820int line_num_fortran_common=1;
1821int newlinef90 = 0;
1822char *tmp;
1823char tmpc;
1824/******************************************************************************/
1825/**************PETITS PB NON PREVUS *******************************************/
1826/******************************************************************************/
1827/* NEXTLINF77 un ligne fortran 77 peut commencer par -      &a=b or on        */
1828/*            a prevu seulement       & a=b avec l'espace entre le symbole    */
1829/*            de la 7eme et le debut de la ligne de commande                  */
1830/*            le ! est aussi interdit comme symbole de la 7 eme colonne       */
1831/*            Normalement NEXTLINEF77 \n+[ ]{5}[^ ]                           */
1832/******************************************************************************/
1833#define YY_USER_ACTION \
1834        {\
1835           if (firstpass == 0) \
1836           {\
1837              strcat(curbuf,fortrantext); \
1838              Save_Length(curbuf,38); \
1839              strcpy(motparse,fortrantext);\
1840              Save_Length(motparse,32); \
1841              colnum = colnum + strlen(motparse);\
1842              ECHO; \
1843           }\
1844           strcpy(motparse1,fortrantext);\
1845           /*printf("fortrantext = %s\n",fortrantext);*/\
1846        /*if ( firstpass == 1 )
1847                      printf("fortrantext = %s %d\n",fortrantext,strlen(fortrantext));*/\
1848        }
1849#line 1850 "fortran.yy.c"
1850
1851#define INITIAL 0
1852#define parameter 1
1853#define character 2
1854#define donottreat 3
1855#define fortran77style 4
1856#define fortran90style 5
1857
1858#ifndef YY_NO_UNISTD_H
1859/* Special case for "unistd.h", since it is non-ANSI. We include it way
1860 * down here because we want the user's section 1 to have been scanned first.
1861 * The user has a chance to override it with an option.
1862 */
1863#include <unistd.h>
1864#endif
1865
1866#ifndef YY_EXTRA_TYPE
1867#define YY_EXTRA_TYPE void *
1868#endif
1869
1870static int yy_init_globals (void );
1871
1872/* Macros after this point can all be overridden by user definitions in
1873 * section 1.
1874 */
1875
1876#ifndef YY_SKIP_YYWRAP
1877#ifdef __cplusplus
1878extern "C" int fortranwrap (void );
1879#else
1880extern int fortranwrap (void );
1881#endif
1882#endif
1883
1884    static void yyunput (int c,char *buf_ptr  );
1885   
1886#ifndef yytext_ptr
1887static void yy_flex_strncpy (char *,yyconst char *,int );
1888#endif
1889
1890#ifdef YY_NEED_STRLEN
1891static int yy_flex_strlen (yyconst char * );
1892#endif
1893
1894#ifndef YY_NO_INPUT
1895
1896#ifdef __cplusplus
1897static int yyinput (void );
1898#else
1899static int input (void );
1900#endif
1901
1902#endif
1903
1904/* Amount of stuff to slurp up with each read. */
1905#ifndef YY_READ_BUF_SIZE
1906#define YY_READ_BUF_SIZE 8192
1907#endif
1908
1909/* Copy whatever the last rule matched to the standard output. */
1910#ifndef ECHO
1911/* This used to be an fputs(), but since the string might contain NUL's,
1912 * we now use fwrite().
1913 */
1914#define ECHO (void) fwrite( fortrantext, fortranleng, 1, fortranout )
1915#endif
1916
1917/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1918 * is returned in "result".
1919 */
1920#ifndef YY_INPUT
1921#define YY_INPUT(buf,result,max_size) \
1922   if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1923      { \
1924      int c = '*'; \
1925      size_t n; \
1926      for ( n = 0; n < max_size && \
1927              (c = getc( fortranin )) != EOF && c != '\n'; ++n ) \
1928         buf[n] = (char) c; \
1929      if ( c == '\n' ) \
1930         buf[n++] = (char) c; \
1931      if ( c == EOF && ferror( fortranin ) ) \
1932         YY_FATAL_ERROR( "input in flex scanner failed" ); \
1933      result = n; \
1934      } \
1935   else \
1936      { \
1937      errno=0; \
1938      while ( (result = fread(buf, 1, max_size, fortranin))==0 && ferror(fortranin)) \
1939         { \
1940         if( errno != EINTR) \
1941            { \
1942            YY_FATAL_ERROR( "input in flex scanner failed" ); \
1943            break; \
1944            } \
1945         errno=0; \
1946         clearerr(fortranin); \
1947         } \
1948      }\
1949\
1950
1951#endif
1952
1953/* No semi-colon after return; correct usage is to write "yyterminate();" -
1954 * we don't want an extra ';' after the "return" because that will cause
1955 * some compilers to complain about unreachable statements.
1956 */
1957#ifndef yyterminate
1958#define yyterminate() return YY_NULL
1959#endif
1960
1961/* Number of entries by which start-condition stack grows. */
1962#ifndef YY_START_STACK_INCR
1963#define YY_START_STACK_INCR 25
1964#endif
1965
1966/* Report a fatal error. */
1967#ifndef YY_FATAL_ERROR
1968#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1969#endif
1970
1971/* end tables serialization structures and prototypes */
1972
1973/* Default declaration of generated scanner - a define so the user can
1974 * easily add parameters.
1975 */
1976#ifndef YY_DECL
1977#define YY_DECL_IS_OURS 1
1978
1979extern int fortranlex (void);
1980
1981#define YY_DECL int fortranlex (void)
1982#endif /* !YY_DECL */
1983
1984/* Code executed at the beginning of each rule, after fortrantext and fortranleng
1985 * have been set up.
1986 */
1987#ifndef YY_USER_ACTION
1988#define YY_USER_ACTION
1989#endif
1990
1991/* Code executed at the end of each rule. */
1992#ifndef YY_BREAK
1993#define YY_BREAK break;
1994#endif
1995
1996#define YY_RULE_SETUP \
1997   if ( fortranleng > 0 ) \
1998      YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1999            (fortrantext[fortranleng - 1] == '\n'); \
2000   YY_USER_ACTION
2001
2002/** The main scanner function which does all the work.
2003 */
2004YY_DECL
2005{
2006   register yy_state_type yy_current_state;
2007   register char *yy_cp, *yy_bp;
2008   register int yy_act;
2009   
2010#line 106 "fortran.lex"
2011
2012  if (infixed) BEGIN(fortran77style) ;
2013  if (infree) BEGIN(fortran90style)  ;
2014
2015#line 2016 "fortran.yy.c"
2016
2017   if ( !(yy_init) )
2018      {
2019      (yy_init) = 1;
2020
2021#ifdef YY_USER_INIT
2022      YY_USER_INIT;
2023#endif
2024
2025      if ( ! (yy_start) )
2026         (yy_start) = 1;   /* first start state */
2027
2028      if ( ! fortranin )
2029         fortranin = stdin;
2030
2031      if ( ! fortranout )
2032         fortranout = stdout;
2033
2034      if ( ! YY_CURRENT_BUFFER ) {
2035         fortranensure_buffer_stack ();
2036         YY_CURRENT_BUFFER_LVALUE =
2037            fortran_create_buffer(fortranin,YY_BUF_SIZE );
2038      }
2039
2040      fortran_load_buffer_state( );
2041      }
2042
2043   while ( 1 )    /* loops until end-of-file is reached */
2044      {
2045      yy_cp = (yy_c_buf_p);
2046
2047      /* Support of fortrantext. */
2048      *yy_cp = (yy_hold_char);
2049
2050      /* yy_bp points to the position in yy_ch_buf of the start of
2051       * the current run.
2052       */
2053      yy_bp = yy_cp;
2054
2055      yy_current_state = (yy_start);
2056      yy_current_state += YY_AT_BOL();
2057yy_match:
2058      do
2059         {
2060         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2061         if ( yy_accept[yy_current_state] )
2062            {
2063            (yy_last_accepting_state) = yy_current_state;
2064            (yy_last_accepting_cpos) = yy_cp;
2065            }
2066         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2067            {
2068            yy_current_state = (int) yy_def[yy_current_state];
2069            if ( yy_current_state >= 1124 )
2070               yy_c = yy_meta[(unsigned int) yy_c];
2071            }
2072         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2073         ++yy_cp;
2074         }
2075      while ( yy_base[yy_current_state] != 4192 );
2076
2077yy_find_action:
2078      yy_act = yy_accept[yy_current_state];
2079      if ( yy_act == 0 )
2080         { /* have to back up */
2081         yy_cp = (yy_last_accepting_cpos);
2082         yy_current_state = (yy_last_accepting_state);
2083         yy_act = yy_accept[yy_current_state];
2084         }
2085
2086      YY_DO_BEFORE_ACTION;
2087
2088do_action:  /* This label is used only to access EOF actions. */
2089
2090      switch ( yy_act )
2091   { /* beginning of action switch */
2092         case 0: /* must back up */
2093         /* undo the effects of YY_DO_BEFORE_ACTION */
2094         *yy_cp = (yy_hold_char);
2095         yy_cp = (yy_last_accepting_cpos);
2096         yy_current_state = (yy_last_accepting_state);
2097         goto yy_find_action;
2098
2099case 1:
2100YY_RULE_SETUP
2101#line 110 "fortran.lex"
2102return TOK_DEBUT;
2103   YY_BREAK
2104case 2:
2105YY_RULE_SETUP
2106#line 111 "fortran.lex"
2107return TOK_FIN;
2108   YY_BREAK
2109case 3:
2110YY_RULE_SETUP
2111#line 112 "fortran.lex"
2112return TOK_OMP;
2113   YY_BREAK
2114case 4:
2115YY_RULE_SETUP
2116#line 113 "fortran.lex"
2117return TOK_DOLLAR;
2118   YY_BREAK
2119case 5:
2120YY_RULE_SETUP
2121#line 115 "fortran.lex"
2122{return TOK_REAL8;}
2123   YY_BREAK
2124case 6:
2125YY_RULE_SETUP
2126#line 116 "fortran.lex"
2127{return TOK_SUBROUTINE;}
2128   YY_BREAK
2129case 7:
2130YY_RULE_SETUP
2131#line 117 "fortran.lex"
2132{return TOK_PROGRAM;}
2133   YY_BREAK
2134case 8:
2135YY_RULE_SETUP
2136#line 118 "fortran.lex"
2137{inallocate = 1; return TOK_ALLOCATE;}
2138   YY_BREAK
2139case 9:
2140YY_RULE_SETUP
2141#line 119 "fortran.lex"
2142{inallocate = 1; return TOK_DEALLOCATE;}
2143   YY_BREAK
2144case 10:
2145YY_RULE_SETUP
2146#line 120 "fortran.lex"
2147{return TOK_RESULT;}
2148   YY_BREAK
2149case 11:
2150YY_RULE_SETUP
2151#line 121 "fortran.lex"
2152{return TOK_FUNCTION;}
2153   YY_BREAK
2154case 12:
2155YY_RULE_SETUP
2156#line 122 "fortran.lex"
2157{strcpy(yylval.na,fortrantext);return TOK_ENDSUBROUTINE;}
2158   YY_BREAK
2159case 13:
2160YY_RULE_SETUP
2161#line 123 "fortran.lex"
2162{strcpy(yylval.na,fortrantext);return TOK_ENDPROGRAM;}
2163   YY_BREAK
2164case 14:
2165YY_RULE_SETUP
2166#line 124 "fortran.lex"
2167{strcpy(yylval.na,fortrantext);return TOK_ENDFUNCTION;}
2168   YY_BREAK
2169case 15:
2170YY_RULE_SETUP
2171#line 125 "fortran.lex"
2172{strcpy(yylval.na,fortrantext);return TOK_ENDUNIT;}
2173   YY_BREAK
2174case 16:
2175YY_RULE_SETUP
2176#line 126 "fortran.lex"
2177return TOK_INCLUDE;
2178   YY_BREAK
2179case 17:
2180YY_RULE_SETUP
2181#line 127 "fortran.lex"
2182{
2183                            strcpy(yylval.na,fortrantext);
2184                            tmpc = input();
2185                            unput(tmpc);
2186                            if ( (
2187                               tmpc >= 'a' && tmpc <= 'z'
2188                                  ) || (
2189                               tmpc >= 'A' && tmpc <= 'Z'
2190                               )  )
2191                               {
2192                                  return TOK_USE;
2193                               }
2194                               else
2195                               {
2196                                  return TOK_NAME;
2197                               }
2198                         }
2199   YY_BREAK
2200case 18:
2201YY_RULE_SETUP
2202#line 144 "fortran.lex"
2203{return TOK_REWIND;}
2204   YY_BREAK
2205case 19:
2206YY_RULE_SETUP
2207#line 145 "fortran.lex"
2208return TOK_IMPLICIT;
2209   YY_BREAK
2210case 20:
2211YY_RULE_SETUP
2212#line 146 "fortran.lex"
2213return TOK_NONE;
2214   YY_BREAK
2215case 21:
2216YY_RULE_SETUP
2217#line 147 "fortran.lex"
2218return TOK_CALL;
2219   YY_BREAK
2220case 22:
2221YY_RULE_SETUP
2222#line 148 "fortran.lex"
2223return TOK_TRUE;
2224   YY_BREAK
2225case 23:
2226YY_RULE_SETUP
2227#line 149 "fortran.lex"
2228return TOK_FALSE;
2229   YY_BREAK
2230case 24:
2231YY_RULE_SETUP
2232#line 150 "fortran.lex"
2233{return TOK_POINT_TO;}
2234   YY_BREAK
2235case 25:
2236YY_RULE_SETUP
2237#line 151 "fortran.lex"
2238{strcpy(yylval.na,fortrantext);return TOK_DASTER;}
2239   YY_BREAK
2240case 26:
2241YY_RULE_SETUP
2242#line 152 "fortran.lex"
2243{strcpy(yylval.na,fortrantext);return TOK_EQV;}
2244   YY_BREAK
2245case 27:
2246YY_RULE_SETUP
2247#line 153 "fortran.lex"
2248{strcpy(yylval.na,fortrantext);return TOK_EQ;}
2249   YY_BREAK
2250case 28:
2251YY_RULE_SETUP
2252#line 154 "fortran.lex"
2253{strcpy(yylval.na,fortrantext);return TOK_GT;}
2254   YY_BREAK
2255case 29:
2256YY_RULE_SETUP
2257#line 155 "fortran.lex"
2258{strcpy(yylval.na,fortrantext);return TOK_GE;}
2259   YY_BREAK
2260case 30:
2261YY_RULE_SETUP
2262#line 156 "fortran.lex"
2263{strcpy(yylval.na,fortrantext);return TOK_LT;}
2264   YY_BREAK
2265case 31:
2266YY_RULE_SETUP
2267#line 157 "fortran.lex"
2268{strcpy(yylval.na,fortrantext);return TOK_LE;}
2269   YY_BREAK
2270case 32:
2271YY_RULE_SETUP
2272#line 158 "fortran.lex"
2273{strcpy(yylval.na,fortrantext);return TOK_NEQV;}
2274   YY_BREAK
2275case 33:
2276YY_RULE_SETUP
2277#line 159 "fortran.lex"
2278{strcpy(yylval.na,fortrantext);return TOK_NE;}
2279   YY_BREAK
2280case 34:
2281YY_RULE_SETUP
2282#line 160 "fortran.lex"
2283{strcpy(yylval.na,fortrantext);return TOK_NOT;}
2284   YY_BREAK
2285case 35:
2286YY_RULE_SETUP
2287#line 161 "fortran.lex"
2288{strcpy(yylval.na,fortrantext);return TOK_OR;}
2289   YY_BREAK
2290case 36:
2291YY_RULE_SETUP
2292#line 162 "fortran.lex"
2293{strcpy(yylval.na,fortrantext);return TOK_XOR;}
2294   YY_BREAK
2295case 37:
2296YY_RULE_SETUP
2297#line 163 "fortran.lex"
2298{strcpy(yylval.na,fortrantext);return TOK_AND;}
2299   YY_BREAK
2300case 38:
2301YY_RULE_SETUP
2302#line 164 "fortran.lex"
2303{return TOK_MODULE;}
2304   YY_BREAK
2305case 39:
2306YY_RULE_SETUP
2307#line 165 "fortran.lex"
2308{return TOK_DOWHILE;}
2309   YY_BREAK
2310case 40:
2311YY_RULE_SETUP
2312#line 166 "fortran.lex"
2313return TOK_ENDMODULE;
2314   YY_BREAK
2315case 41:
2316YY_RULE_SETUP
2317#line 167 "fortran.lex"
2318return TOK_ENDDO;
2319   YY_BREAK
2320case 42:
2321YY_RULE_SETUP
2322#line 168 "fortran.lex"
2323{return TOK_PLAINDO;}
2324   YY_BREAK
2325case 43:
2326YY_RULE_SETUP
2327#line 169 "fortran.lex"
2328{strcpy(yylval.na,fortrantext);return TOK_REAL;}
2329   YY_BREAK
2330case 44:
2331YY_RULE_SETUP
2332#line 170 "fortran.lex"
2333{strcpy(yylval.na,fortrantext);return TOK_INTEGER;}
2334   YY_BREAK
2335case 45:
2336YY_RULE_SETUP
2337#line 171 "fortran.lex"
2338{strcpy(yylval.na,fortrantext);return TOK_LOGICAL;}
2339   YY_BREAK
2340case 46:
2341YY_RULE_SETUP
2342#line 172 "fortran.lex"
2343{strcpy(yylval.na,fortrantext);return TOK_CHARACTER;}
2344   YY_BREAK
2345case 47:
2346YY_RULE_SETUP
2347#line 173 "fortran.lex"
2348{return TOK_ALLOCATABLE;}
2349   YY_BREAK
2350case 48:
2351YY_RULE_SETUP
2352#line 174 "fortran.lex"
2353return TOK_CLOSE;
2354   YY_BREAK
2355case 49:
2356YY_RULE_SETUP
2357#line 175 "fortran.lex"
2358return TOK_INQUIRE;
2359   YY_BREAK
2360case 50:
2361YY_RULE_SETUP
2362#line 176 "fortran.lex"
2363{return TOK_DIMENSION;}
2364   YY_BREAK
2365case 51:
2366YY_RULE_SETUP
2367#line 177 "fortran.lex"
2368return TOK_PAUSE;
2369   YY_BREAK
2370case 52:
2371YY_RULE_SETUP
2372#line 178 "fortran.lex"
2373return TOK_EQUIVALENCE;
2374   YY_BREAK
2375case 53:
2376YY_RULE_SETUP
2377#line 179 "fortran.lex"
2378return TOK_STOP;
2379   YY_BREAK
2380case 54:
2381YY_RULE_SETUP
2382#line 180 "fortran.lex"
2383return TOK_WHERE;
2384   YY_BREAK
2385case 55:
2386YY_RULE_SETUP
2387#line 181 "fortran.lex"
2388return TOK_ENDWHERE;
2389   YY_BREAK
2390case 56:
2391YY_RULE_SETUP
2392#line 182 "fortran.lex"
2393return TOK_ELSEWHERE;
2394   YY_BREAK
2395case 57:
2396YY_RULE_SETUP
2397#line 183 "fortran.lex"
2398{return TOK_COMPLEX;}
2399   YY_BREAK
2400case 58:
2401YY_RULE_SETUP
2402#line 184 "fortran.lex"
2403{return TOK_CONTAINS;}
2404   YY_BREAK
2405case 59:
2406YY_RULE_SETUP
2407#line 185 "fortran.lex"
2408{return TOK_ONLY;}
2409   YY_BREAK
2410case 60:
2411YY_RULE_SETUP
2412#line 186 "fortran.lex"
2413{return TOK_PARAMETER;}
2414   YY_BREAK
2415case 61:
2416YY_RULE_SETUP
2417#line 187 "fortran.lex"
2418{return TOK_RECURSIVE;}
2419   YY_BREAK
2420case 62:
2421YY_RULE_SETUP
2422#line 188 "fortran.lex"
2423{return TOK_COMMON;}
2424   YY_BREAK
2425case 63:
2426YY_RULE_SETUP
2427#line 189 "fortran.lex"
2428{return TOK_GLOBAL;}
2429   YY_BREAK
2430case 64:
2431YY_RULE_SETUP
2432#line 190 "fortran.lex"
2433{return TOK_EXTERNAL;}
2434   YY_BREAK
2435case 65:
2436YY_RULE_SETUP
2437#line 191 "fortran.lex"
2438{return TOK_INTENT;}
2439   YY_BREAK
2440case 66:
2441YY_RULE_SETUP
2442#line 192 "fortran.lex"
2443{return TOK_POINTER;}
2444   YY_BREAK
2445case 67:
2446YY_RULE_SETUP
2447#line 193 "fortran.lex"
2448{return TOK_OPTIONAL;}
2449   YY_BREAK
2450case 68:
2451YY_RULE_SETUP
2452#line 194 "fortran.lex"
2453{return TOK_SAVE;}
2454   YY_BREAK
2455case 69:
2456YY_RULE_SETUP
2457#line 195 "fortran.lex"
2458{return TOK_TYPE;}
2459   YY_BREAK
2460case 70:
2461YY_RULE_SETUP
2462#line 196 "fortran.lex"
2463{return TOK_TYPEPAR;}
2464   YY_BREAK
2465case 71:
2466YY_RULE_SETUP
2467#line 197 "fortran.lex"
2468{if (inallocate == 1) return TOK_STAT; else {strcpy(yylval.na,fortrantext);return TOK_NAME;}}
2469   YY_BREAK
2470case 72:
2471YY_RULE_SETUP
2472#line 198 "fortran.lex"
2473{return TOK_ENDTYPE;}
2474   YY_BREAK
2475case 73:
2476YY_RULE_SETUP
2477#line 199 "fortran.lex"
2478return TOK_OPEN;
2479   YY_BREAK
2480case 74:
2481YY_RULE_SETUP
2482#line 200 "fortran.lex"
2483return TOK_RETURN;
2484   YY_BREAK
2485case 75:
2486/* rule 75 can match eol */
2487YY_RULE_SETUP
2488#line 201 "fortran.lex"
2489return TOK_EXIT;
2490   YY_BREAK
2491case 76:
2492YY_RULE_SETUP
2493#line 202 "fortran.lex"
2494return TOK_PRINT;
2495   YY_BREAK
2496case 77:
2497YY_RULE_SETUP
2498#line 203 "fortran.lex"
2499{return TOK_PROCEDURE;}
2500   YY_BREAK
2501case 78:
2502YY_RULE_SETUP
2503#line 204 "fortran.lex"
2504{return TOK_READ;}
2505   YY_BREAK
2506case 79:
2507YY_RULE_SETUP
2508#line 205 "fortran.lex"
2509{return TOK_NAMELIST;}
2510   YY_BREAK
2511case 80:
2512YY_RULE_SETUP
2513#line 206 "fortran.lex"
2514{return TOK_WRITE;}
2515   YY_BREAK
2516case 81:
2517YY_RULE_SETUP
2518#line 207 "fortran.lex"
2519{return TOK_TARGET;}
2520   YY_BREAK
2521case 82:
2522YY_RULE_SETUP
2523#line 208 "fortran.lex"
2524{return TOK_PUBLIC;}
2525   YY_BREAK
2526case 83:
2527YY_RULE_SETUP
2528#line 209 "fortran.lex"
2529{return TOK_PRIVATE;}
2530   YY_BREAK
2531case 84:
2532YY_RULE_SETUP
2533#line 210 "fortran.lex"
2534{strcpy(yylval.nac,fortrantext);return TOK_IN;}
2535   YY_BREAK
2536case 85:
2537YY_RULE_SETUP
2538#line 211 "fortran.lex"
2539{strcpy(yylval.na,fortrantext);return TOK_DATA;}
2540   YY_BREAK
2541case 86:
2542YY_RULE_SETUP
2543#line 212 "fortran.lex"
2544return TOK_CONTINUE;
2545   YY_BREAK
2546case 87:
2547YY_RULE_SETUP
2548#line 213 "fortran.lex"
2549{return TOK_PLAINGOTO;}
2550   YY_BREAK
2551case 88:
2552YY_RULE_SETUP
2553#line 214 "fortran.lex"
2554{strcpy(yylval.nac,fortrantext);return TOK_OUT;}
2555   YY_BREAK
2556case 89:
2557YY_RULE_SETUP
2558#line 215 "fortran.lex"
2559{strcpy(yylval.nac,fortrantext);return TOK_INOUT;}
2560   YY_BREAK
2561case 90:
2562YY_RULE_SETUP
2563#line 216 "fortran.lex"
2564{return TOK_INTRINSIC;}
2565   YY_BREAK
2566case 91:
2567YY_RULE_SETUP
2568#line 217 "fortran.lex"
2569{return TOK_THEN;}
2570   YY_BREAK
2571case 92:
2572YY_RULE_SETUP
2573#line 218 "fortran.lex"
2574{return TOK_ELSEIF;}
2575   YY_BREAK
2576case 93:
2577YY_RULE_SETUP
2578#line 219 "fortran.lex"
2579{return TOK_ELSE;}
2580   YY_BREAK
2581case 94:
2582YY_RULE_SETUP
2583#line 220 "fortran.lex"
2584{return TOK_ENDIF;}
2585   YY_BREAK
2586case 95:
2587YY_RULE_SETUP
2588#line 221 "fortran.lex"
2589{return TOK_LOGICALIF;}
2590   YY_BREAK
2591case 96:
2592YY_RULE_SETUP
2593#line 222 "fortran.lex"
2594{return TOK_SUM;}
2595   YY_BREAK
2596case 97:
2597YY_RULE_SETUP
2598#line 223 "fortran.lex"
2599{return TOK_MAX;}
2600   YY_BREAK
2601case 98:
2602YY_RULE_SETUP
2603#line 224 "fortran.lex"
2604{return TOK_TANH;}
2605   YY_BREAK
2606case 99:
2607YY_RULE_SETUP
2608#line 225 "fortran.lex"
2609{return TOK_MAXVAL;}
2610   YY_BREAK
2611case 100:
2612YY_RULE_SETUP
2613#line 226 "fortran.lex"
2614{return TOK_TRIM;}
2615   YY_BREAK
2616case 101:
2617YY_RULE_SETUP
2618#line 227 "fortran.lex"
2619{return TOK_SQRT;}
2620   YY_BREAK
2621case 102:
2622YY_RULE_SETUP
2623#line 228 "fortran.lex"
2624{return TOK_SELECTCASE;}
2625   YY_BREAK
2626case 103:
2627YY_RULE_SETUP
2628#line 229 "fortran.lex"
2629{return TOK_CASE;}
2630   YY_BREAK
2631case 104:
2632YY_RULE_SETUP
2633#line 230 "fortran.lex"
2634{return TOK_CASEDEFAULT;}
2635   YY_BREAK
2636case 105:
2637YY_RULE_SETUP
2638#line 231 "fortran.lex"
2639{return TOK_ENDSELECT;}
2640   YY_BREAK
2641case 106:
2642YY_RULE_SETUP
2643#line 232 "fortran.lex"
2644{return TOK_FILE;}
2645   YY_BREAK
2646case 107:
2647YY_RULE_SETUP
2648#line 233 "fortran.lex"
2649{return TOK_END;}
2650   YY_BREAK
2651case 108:
2652YY_RULE_SETUP
2653#line 234 "fortran.lex"
2654{return TOK_ERR;}
2655   YY_BREAK
2656case 109:
2657YY_RULE_SETUP
2658#line 235 "fortran.lex"
2659{return TOK_EXIST;}
2660   YY_BREAK
2661case 110:
2662YY_RULE_SETUP
2663#line 236 "fortran.lex"
2664{return TOK_MIN;}
2665   YY_BREAK
2666case 111:
2667YY_RULE_SETUP
2668#line 237 "fortran.lex"
2669{return TOK_NINT;}
2670   YY_BREAK
2671case 112:
2672YY_RULE_SETUP
2673#line 238 "fortran.lex"
2674{return TOK_FLOAT;}
2675   YY_BREAK
2676case 113:
2677YY_RULE_SETUP
2678#line 239 "fortran.lex"
2679{return TOK_EXP;}
2680   YY_BREAK
2681case 114:
2682YY_RULE_SETUP
2683#line 240 "fortran.lex"
2684{return TOK_COS;}
2685   YY_BREAK
2686case 115:
2687YY_RULE_SETUP
2688#line 241 "fortran.lex"
2689{return TOK_COSH;}
2690   YY_BREAK
2691case 116:
2692YY_RULE_SETUP
2693#line 242 "fortran.lex"
2694{return TOK_ACOS;}
2695   YY_BREAK
2696case 117:
2697YY_RULE_SETUP
2698#line 243 "fortran.lex"
2699{return TOK_SIN;}
2700   YY_BREAK
2701case 118:
2702YY_RULE_SETUP
2703#line 244 "fortran.lex"
2704{return TOK_SINH;}
2705   YY_BREAK
2706case 119:
2707YY_RULE_SETUP
2708#line 245 "fortran.lex"
2709{return TOK_ASIN;}
2710   YY_BREAK
2711case 120:
2712YY_RULE_SETUP
2713#line 246 "fortran.lex"
2714{return TOK_LOG;}
2715   YY_BREAK
2716case 121:
2717YY_RULE_SETUP
2718#line 247 "fortran.lex"
2719{return TOK_TAN;}
2720   YY_BREAK
2721case 122:
2722YY_RULE_SETUP
2723#line 248 "fortran.lex"
2724{return TOK_ATAN;}
2725   YY_BREAK
2726case 123:
2727YY_RULE_SETUP
2728#line 249 "fortran.lex"
2729{return TOK_CYCLE;}
2730   YY_BREAK
2731case 124:
2732YY_RULE_SETUP
2733#line 250 "fortran.lex"
2734{return TOK_ABS;}
2735   YY_BREAK
2736case 125:
2737YY_RULE_SETUP
2738#line 251 "fortran.lex"
2739{return TOK_MOD;}
2740   YY_BREAK
2741case 126:
2742YY_RULE_SETUP
2743#line 252 "fortran.lex"
2744{return TOK_SIGN;}
2745   YY_BREAK
2746case 127:
2747YY_RULE_SETUP
2748#line 253 "fortran.lex"
2749{return TOK_MINLOC;}
2750   YY_BREAK
2751case 128:
2752YY_RULE_SETUP
2753#line 254 "fortran.lex"
2754{return TOK_MAXLOC;}
2755   YY_BREAK
2756case 129:
2757YY_RULE_SETUP
2758#line 255 "fortran.lex"
2759{return TOK_MINVAL;}
2760   YY_BREAK
2761case 130:
2762YY_RULE_SETUP
2763#line 256 "fortran.lex"
2764{return TOK_INTERFACE;}
2765   YY_BREAK
2766case 131:
2767YY_RULE_SETUP
2768#line 257 "fortran.lex"
2769{return TOK_BACKSPACE;}
2770   YY_BREAK
2771case 132:
2772YY_RULE_SETUP
2773#line 258 "fortran.lex"
2774{return TOK_ENDINTERFACE;}
2775   YY_BREAK
2776case 133:
2777YY_RULE_SETUP
2778#line 259 "fortran.lex"
2779{return TOK_LEFTAB;}
2780   YY_BREAK
2781case 134:
2782YY_RULE_SETUP
2783#line 260 "fortran.lex"
2784{return TOK_RIGHTAB;}
2785   YY_BREAK
2786case 135:
2787/* rule 135 can match eol */
2788YY_RULE_SETUP
2789#line 261 "fortran.lex"
2790{return TOK_FORMAT;}
2791   YY_BREAK
2792case 136:
2793YY_RULE_SETUP
2794#line 262 "fortran.lex"
2795{strcpy(yylval.na,fortrantext);return TOK_DOUBLEPRECISION;}
2796   YY_BREAK
2797case 137:
2798YY_RULE_SETUP
2799#line 263 "fortran.lex"
2800{strcpy(yylval.na,fortrantext);return TOK_DOUBLECOMPLEX;}
2801   YY_BREAK
2802case 138:
2803YY_RULE_SETUP
2804#line 264 "fortran.lex"
2805{strcpy(yylval.na,fortrantext);return TOK_SLASH;}
2806   YY_BREAK
2807case 139:
2808YY_RULE_SETUP
2809#line 265 "fortran.lex"
2810{strcpy(yylval.na,fortrantext);return TOK_DSLASH;}
2811   YY_BREAK
2812case 140:
2813/* rule 140 can match eol */
2814YY_RULE_SETUP
2815#line 266 "fortran.lex"
2816{strcpy(yylval.na,fortrantext);return TOK_CHAR_CUT;}
2817   YY_BREAK
2818case 141:
2819YY_RULE_SETUP
2820#line 267 "fortran.lex"
2821{strcpy(yylval.na,fortrantext);return TOK_CHAR_CONSTANT;}
2822   YY_BREAK
2823case 142:
2824YY_RULE_SETUP
2825#line 268 "fortran.lex"
2826{strcpy(yylval.na,fortrantext);return TOK_CHAR_MESSAGE;}
2827   YY_BREAK
2828case 143:
2829YY_RULE_SETUP
2830#line 269 "fortran.lex"
2831{strcpy(yylval.na,fortrantext);return TOK_CHAR_INT;}
2832   YY_BREAK
2833case 144:
2834YY_RULE_SETUP
2835#line 270 "fortran.lex"
2836{strcpy(yylval.na,fortrantext);return TOK_NAME;}
2837   YY_BREAK
2838case 145:
2839YY_RULE_SETUP
2840#line 271 "fortran.lex"
2841{strcpy(yylval.na,fortrantext);return TOK_CSTREAL;}
2842   YY_BREAK
2843case 146:
2844YY_RULE_SETUP
2845#line 272 "fortran.lex"
2846{strcpy(yylval.na,fortrantext);return TOK_CSTREALDP;}
2847   YY_BREAK
2848case 147:
2849YY_RULE_SETUP
2850#line 273 "fortran.lex"
2851{strcpy(yylval.na,fortrantext);return TOK_CSTREALQP;}
2852   YY_BREAK
2853case 148:
2854/* rule 148 can match eol */
2855*yy_cp = (yy_hold_char); /* undo effects of setting up fortrantext */
2856(yy_c_buf_p) = yy_cp -= 1;
2857YY_DO_BEFORE_ACTION; /* set up fortrantext again */
2858YY_RULE_SETUP
2859#line 274 "fortran.lex"
2860{strcpy(yylval.na,fortrantext);return TOK_CSTREAL;}
2861   YY_BREAK
2862case 149:
2863YY_RULE_SETUP
2864#line 275 "fortran.lex"
2865{strcpy(yylval.na,fortrantext);return TOK_CSTINT;}
2866   YY_BREAK
2867case 150:
2868YY_RULE_SETUP
2869#line 276 "fortran.lex"
2870{}
2871   YY_BREAK
2872case 151:
2873YY_RULE_SETUP
2874#line 277 "fortran.lex"
2875{return TOK_QUOTE;}
2876   YY_BREAK
2877case 152:
2878YY_RULE_SETUP
2879#line 278 "fortran.lex"
2880{}
2881   YY_BREAK
2882case 153:
2883YY_RULE_SETUP
2884#line 279 "fortran.lex"
2885{strcpy(yylval.na,fortrantext);return (int) *fortrantext;}
2886   YY_BREAK
2887case 154:
2888YY_RULE_SETUP
2889#line 280 "fortran.lex"
2890{return TOK_SEMICOLON;}
2891   YY_BREAK
2892case 155:
2893YY_RULE_SETUP
2894#line 281 "fortran.lex"
2895{return (int) *fortrantext;}
2896   YY_BREAK
2897case 156:
2898YY_RULE_SETUP
2899#line 282 "fortran.lex"
2900{return (int) *fortrantext;}
2901   YY_BREAK
2902case 157:
2903YY_RULE_SETUP
2904#line 283 "fortran.lex"
2905{return (int) *fortrantext;}
2906   YY_BREAK
2907case 158:
2908YY_RULE_SETUP
2909#line 284 "fortran.lex"
2910{return (int) *fortrantext;}
2911   YY_BREAK
2912case 159:
2913/* rule 159 can match eol */
2914YY_RULE_SETUP
2915#line 285 "fortran.lex"
2916{colnum=0;line_num_fortran++;line_num_fortran_common++; return (int) *fortrantext;}
2917   YY_BREAK
2918case 160:
2919*yy_cp = (yy_hold_char); /* undo effects of setting up fortrantext */
2920(yy_c_buf_p) = yy_cp -= 1;
2921YY_DO_BEFORE_ACTION; /* set up fortrantext again */
2922YY_RULE_SETUP
2923#line 286 "fortran.lex"
2924
2925   YY_BREAK
2926case 161:
2927YY_RULE_SETUP
2928#line 287 "fortran.lex"
2929{if (newlinef90 == 0) return TOK_LABEL; else newlinef90 = 0;}
2930   YY_BREAK
2931case 162:
2932YY_RULE_SETUP
2933#line 288 "fortran.lex"
2934
2935   YY_BREAK
2936case 163:
2937YY_RULE_SETUP
2938#line 289 "fortran.lex"
2939{colnum=colnum-1+tabsize;}
2940   YY_BREAK
2941case 164:
2942YY_RULE_SETUP
2943#line 290 "fortran.lex"
2944;
2945   YY_BREAK
2946case 165:
2947/* rule 165 can match eol */
2948YY_RULE_SETUP
2949#line 291 "fortran.lex"
2950{line_num_fortran++;line_num_fortran_common++;newlinef90=1;colnum=0;}
2951   YY_BREAK
2952case 166:
2953/* rule 166 can match eol */
2954YY_RULE_SETUP
2955#line 292 "fortran.lex"
2956{line_num_fortran++;line_num_fortran_common++;colnum=0;}
2957   YY_BREAK
2958case 167:
2959/* rule 167 can match eol */
2960YY_RULE_SETUP
2961#line 293 "fortran.lex"
2962{
2963                           convert2lower(motparse1);
2964                           if ( strncasecmp(motparse1,"contains",8) == 0 )
2965                           {
2966                              return TOK_CONTAINS;
2967                           }
2968                           else
2969                           {
2970                              colnum=0;line_num_fortran++;line_num_fortran_common++;
2971                             if ( !strcasecmp(motparse1,"C$AGRIF_DO_NOT_TREAT\n")) return TOK_DONOTTREAT;
2972                             if ( !strcasecmp(motparse1,"C$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT;
2973                           }
2974                         }
2975   YY_BREAK
2976case 168:
2977/* rule 168 can match eol */
2978YY_RULE_SETUP
2979#line 306 "fortran.lex"
2980BEGIN(donottreat);
2981   YY_BREAK
2982case 169:
2983/* rule 169 can match eol */
2984YY_RULE_SETUP
2985#line 307 "fortran.lex"
2986BEGIN(INITIAL);
2987   YY_BREAK
2988case 170:
2989/* rule 170 can match eol */
2990YY_RULE_SETUP
2991#line 308 "fortran.lex"
2992
2993   YY_BREAK
2994case 171:
2995/* rule 171 can match eol */
2996YY_RULE_SETUP
2997#line 309 "fortran.lex"
2998{
2999                             colnum = 0;
3000                             if ( !strcasecmp(motparse1,"!$AGRIF_DO_NOT_TREAT\n")) return TOK_DONOTTREAT;
3001                             if ( !strcasecmp(motparse1,"!$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT;
3002                          }
3003   YY_BREAK
3004case 172:
3005YY_RULE_SETUP
3006#line 314 "fortran.lex"
3007{
3008                             colnum = 0;
3009                             if ( !strcasecmp(motparse1,"!$AGRIF_DO_NOT_TREAT\n")) return TOK_DONOTTREAT;
3010                             if ( !strcasecmp(motparse1,"!$AGRIF_END_DO_NOT_TREAT\n")) return TOK_ENDDONOTTREAT;
3011                          }
3012   YY_BREAK
3013case 173:
3014YY_RULE_SETUP
3015#line 319 "fortran.lex"
3016ECHO;
3017   YY_BREAK
3018#line 3019 "fortran.yy.c"
3019case YY_STATE_EOF(INITIAL):
3020case YY_STATE_EOF(parameter):
3021case YY_STATE_EOF(character):
3022case YY_STATE_EOF(donottreat):
3023case YY_STATE_EOF(fortran77style):
3024case YY_STATE_EOF(fortran90style):
3025   yyterminate();
3026
3027   case YY_END_OF_BUFFER:
3028      {
3029      /* Amount of text matched not including the EOB char. */
3030      int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3031
3032      /* Undo the effects of YY_DO_BEFORE_ACTION. */
3033      *yy_cp = (yy_hold_char);
3034      YY_RESTORE_YY_MORE_OFFSET
3035
3036      if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3037         {
3038         /* We're scanning a new file or input source.  It's
3039          * possible that this happened because the user
3040          * just pointed fortranin at a new source and called
3041          * fortranlex().  If so, then we have to assure
3042          * consistency between YY_CURRENT_BUFFER and our
3043          * globals.  Here is the right place to do so, because
3044          * this is the first action (other than possibly a
3045          * back-up) that will match for the new input source.
3046          */
3047         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3048         YY_CURRENT_BUFFER_LVALUE->yy_input_file = fortranin;
3049         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3050         }
3051
3052      /* Note that here we test for yy_c_buf_p "<=" to the position
3053       * of the first EOB in the buffer, since yy_c_buf_p will
3054       * already have been incremented past the NUL character
3055       * (since all states make transitions on EOB to the
3056       * end-of-buffer state).  Contrast this with the test
3057       * in input().
3058       */
3059      if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3060         { /* This was really a NUL. */
3061         yy_state_type yy_next_state;
3062
3063         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3064
3065         yy_current_state = yy_get_previous_state(  );
3066
3067         /* Okay, we're now positioned to make the NUL
3068          * transition.  We couldn't have
3069          * yy_get_previous_state() go ahead and do it
3070          * for us because it doesn't know how to deal
3071          * with the possibility of jamming (and we don't
3072          * want to build jamming into it because then it
3073          * will run more slowly).
3074          */
3075
3076         yy_next_state = yy_try_NUL_trans( yy_current_state );
3077
3078         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3079
3080         if ( yy_next_state )
3081            {
3082            /* Consume the NUL. */
3083            yy_cp = ++(yy_c_buf_p);
3084            yy_current_state = yy_next_state;
3085            goto yy_match;
3086            }
3087
3088         else
3089            {
3090            yy_cp = (yy_c_buf_p);
3091            goto yy_find_action;
3092            }
3093         }
3094
3095      else switch ( yy_get_next_buffer(  ) )
3096         {
3097         case EOB_ACT_END_OF_FILE:
3098            {
3099            (yy_did_buffer_switch_on_eof) = 0;
3100
3101            if ( fortranwrap( ) )
3102               {
3103               /* Note: because we've taken care in
3104                * yy_get_next_buffer() to have set up
3105                * fortrantext, we can now set up
3106                * yy_c_buf_p so that if some total
3107                * hoser (like flex itself) wants to
3108                * call the scanner after we return the
3109                * YY_NULL, it'll still work - another
3110                * YY_NULL will get returned.
3111                */
3112               (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3113
3114               yy_act = YY_STATE_EOF(YY_START);
3115               goto do_action;
3116               }
3117
3118            else
3119               {
3120               if ( ! (yy_did_buffer_switch_on_eof) )
3121                  YY_NEW_FILE;
3122               }
3123            break;
3124            }
3125
3126         case EOB_ACT_CONTINUE_SCAN:
3127            (yy_c_buf_p) =
3128               (yytext_ptr) + yy_amount_of_matched_text;
3129
3130            yy_current_state = yy_get_previous_state(  );
3131
3132            yy_cp = (yy_c_buf_p);
3133            yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3134            goto yy_match;
3135
3136         case EOB_ACT_LAST_MATCH:
3137            (yy_c_buf_p) =
3138            &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3139
3140            yy_current_state = yy_get_previous_state(  );
3141
3142            yy_cp = (yy_c_buf_p);
3143            yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3144            goto yy_find_action;
3145         }
3146      break;
3147      }
3148
3149   default:
3150      YY_FATAL_ERROR(
3151         "fatal flex scanner internal error--no action found" );
3152   } /* end of action switch */
3153      } /* end of scanning one token */
3154} /* end of fortranlex */
3155
3156/* yy_get_next_buffer - try to read in a new buffer
3157 *
3158 * Returns a code representing an action:
3159 * EOB_ACT_LAST_MATCH -
3160 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3161 * EOB_ACT_END_OF_FILE - end of file
3162 */
3163static int yy_get_next_buffer (void)
3164{
3165      register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3166   register char *source = (yytext_ptr);
3167   register int number_to_move, i;
3168   int ret_val;
3169
3170   if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3171      YY_FATAL_ERROR(
3172      "fatal flex scanner internal error--end of buffer missed" );
3173
3174   if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3175      { /* Don't try to fill the buffer, so this is an EOF. */
3176      if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3177         {
3178         /* We matched a single character, the EOB, so
3179          * treat this as a final EOF.
3180          */
3181         return EOB_ACT_END_OF_FILE;
3182         }
3183
3184      else
3185         {
3186         /* We matched some text prior to the EOB, first
3187          * process it.
3188          */
3189         return EOB_ACT_LAST_MATCH;
3190         }
3191      }
3192
3193   /* Try to read more data. */
3194
3195   /* First move last chars to start of buffer. */
3196   number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3197
3198   for ( i = 0; i < number_to_move; ++i )
3199      *(dest++) = *(source++);
3200
3201   if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3202      /* don't do the read, it's not guaranteed to return an EOF,
3203       * just force an EOF
3204       */
3205      YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3206
3207   else
3208      {
3209         int num_to_read =
3210         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3211
3212      while ( num_to_read <= 0 )
3213         { /* Not enough room in the buffer - grow it. */
3214
3215         /* just a shorter name for the current buffer */
3216         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3217
3218         int yy_c_buf_p_offset =
3219            (int) ((yy_c_buf_p) - b->yy_ch_buf);
3220
3221         if ( b->yy_is_our_buffer )
3222            {
3223            int new_size = b->yy_buf_size * 2;
3224
3225            if ( new_size <= 0 )
3226               b->yy_buf_size += b->yy_buf_size / 8;
3227            else
3228               b->yy_buf_size *= 2;
3229
3230            b->yy_ch_buf = (char *)
3231               /* Include room in for 2 EOB chars. */
3232               fortranrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
3233            }
3234         else
3235            /* Can't grow it, we don't own it. */
3236            b->yy_ch_buf = 0;
3237
3238         if ( ! b->yy_ch_buf )
3239            YY_FATAL_ERROR(
3240            "fatal error - scanner input buffer overflow" );
3241
3242         (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3243
3244         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3245                  number_to_move - 1;
3246
3247         }
3248
3249      if ( num_to_read > YY_READ_BUF_SIZE )
3250         num_to_read = YY_READ_BUF_SIZE;
3251
3252      /* Read in more data. */
3253      YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3254         (yy_n_chars), num_to_read );
3255
3256      YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3257      }
3258
3259   if ( (yy_n_chars) == 0 )
3260      {
3261      if ( number_to_move == YY_MORE_ADJ )
3262         {
3263         ret_val = EOB_ACT_END_OF_FILE;
3264         fortranrestart(fortranin  );
3265         }
3266
3267      else
3268         {
3269         ret_val = EOB_ACT_LAST_MATCH;
3270         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3271            YY_BUFFER_EOF_PENDING;
3272         }
3273      }
3274
3275   else
3276      ret_val = EOB_ACT_CONTINUE_SCAN;
3277
3278   (yy_n_chars) += number_to_move;
3279   YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3280   YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3281
3282   (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3283
3284   return ret_val;
3285}
3286
3287/* yy_get_previous_state - get the state just before the EOB char was reached */
3288
3289    static yy_state_type yy_get_previous_state (void)
3290{
3291   register yy_state_type yy_current_state;
3292   register char *yy_cp;
3293   
3294   yy_current_state = (yy_start);
3295   yy_current_state += YY_AT_BOL();
3296
3297   for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3298      {
3299      register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3300      if ( yy_accept[yy_current_state] )
3301         {
3302         (yy_last_accepting_state) = yy_current_state;
3303         (yy_last_accepting_cpos) = yy_cp;
3304         }
3305      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3306         {
3307         yy_current_state = (int) yy_def[yy_current_state];
3308         if ( yy_current_state >= 1124 )
3309            yy_c = yy_meta[(unsigned int) yy_c];
3310         }
3311      yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3312      }
3313
3314   return yy_current_state;
3315}
3316
3317/* yy_try_NUL_trans - try to make a transition on the NUL character
3318 *
3319 * synopsis
3320 * next_state = yy_try_NUL_trans( current_state );
3321 */
3322    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
3323{
3324   register int yy_is_jam;
3325      register char *yy_cp = (yy_c_buf_p);
3326
3327   register YY_CHAR yy_c = 1;
3328   if ( yy_accept[yy_current_state] )
3329      {
3330      (yy_last_accepting_state) = yy_current_state;
3331      (yy_last_accepting_cpos) = yy_cp;
3332      }
3333   while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3334      {
3335      yy_current_state = (int) yy_def[yy_current_state];
3336      if ( yy_current_state >= 1124 )
3337         yy_c = yy_meta[(unsigned int) yy_c];
3338      }
3339   yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3340   yy_is_jam = (yy_current_state == 1123);
3341
3342   return yy_is_jam ? 0 : yy_current_state;
3343}
3344
3345    static void yyunput (int c, register char * yy_bp )
3346{
3347   register char *yy_cp;
3348   
3349    yy_cp = (yy_c_buf_p);
3350
3351   /* undo effects of setting up fortrantext */
3352   *yy_cp = (yy_hold_char);
3353
3354   if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3355      { /* need to shift things up to make room */
3356      /* +2 for EOB chars. */
3357      register int number_to_move = (yy_n_chars) + 2;
3358      register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3359               YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3360      register char *source =
3361            &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3362
3363      while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3364         *--dest = *--source;
3365
3366      yy_cp += (int) (dest - source);
3367      yy_bp += (int) (dest - source);
3368      YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3369         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3370
3371      if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3372         YY_FATAL_ERROR( "flex scanner push-back overflow" );
3373      }
3374
3375   *--yy_cp = (char) c;
3376
3377   (yytext_ptr) = yy_bp;
3378   (yy_hold_char) = *yy_cp;
3379   (yy_c_buf_p) = yy_cp;
3380}
3381
3382#ifndef YY_NO_INPUT
3383#ifdef __cplusplus
3384    static int yyinput (void)
3385#else
3386    static int input  (void)
3387#endif
3388
3389{
3390   int c;
3391   
3392   *(yy_c_buf_p) = (yy_hold_char);
3393
3394   if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3395      {
3396      /* yy_c_buf_p now points to the character we want to return.
3397       * If this occurs *before* the EOB characters, then it's a
3398       * valid NUL; if not, then we've hit the end of the buffer.
3399       */
3400      if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3401         /* This was really a NUL. */
3402         *(yy_c_buf_p) = '\0';
3403
3404      else
3405         { /* need more input */
3406         int offset = (yy_c_buf_p) - (yytext_ptr);
3407         ++(yy_c_buf_p);
3408
3409         switch ( yy_get_next_buffer(  ) )
3410            {
3411            case EOB_ACT_LAST_MATCH:
3412               /* This happens because yy_g_n_b()
3413                * sees that we've accumulated a
3414                * token and flags that we need to
3415                * try matching the token before
3416                * proceeding.  But for input(),
3417                * there's no matching to consider.
3418                * So convert the EOB_ACT_LAST_MATCH
3419                * to EOB_ACT_END_OF_FILE.
3420                */
3421
3422               /* Reset buffer status. */
3423               fortranrestart(fortranin );
3424
3425               /*FALLTHROUGH*/
3426
3427            case EOB_ACT_END_OF_FILE:
3428               {
3429               if ( fortranwrap( ) )
3430                  return 0;
3431
3432               if ( ! (yy_did_buffer_switch_on_eof) )
3433                  YY_NEW_FILE;
3434#ifdef __cplusplus
3435               return yyinput();
3436#else
3437               return input();
3438#endif
3439               }
3440
3441            case EOB_ACT_CONTINUE_SCAN:
3442               (yy_c_buf_p) = (yytext_ptr) + offset;
3443               break;
3444            }
3445         }
3446      }
3447
3448   c = *(unsigned char *) (yy_c_buf_p);   /* cast for 8-bit char's */
3449   *(yy_c_buf_p) = '\0';   /* preserve fortrantext */
3450   (yy_hold_char) = *++(yy_c_buf_p);
3451
3452   YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3453
3454   return c;
3455}
3456#endif   /* ifndef YY_NO_INPUT */
3457
3458/** Immediately switch to a different input stream.
3459 * @param input_file A readable stream.
3460 *
3461 * @note This function does not reset the start condition to @c INITIAL .
3462 */
3463    void fortranrestart  (FILE * input_file )
3464{
3465   
3466   if ( ! YY_CURRENT_BUFFER ){
3467        fortranensure_buffer_stack ();
3468      YY_CURRENT_BUFFER_LVALUE =
3469            fortran_create_buffer(fortranin,YY_BUF_SIZE );
3470   }
3471
3472   fortran_init_buffer(YY_CURRENT_BUFFER,input_file );
3473   fortran_load_buffer_state( );
3474}
3475
3476/** Switch to a different input buffer.
3477 * @param new_buffer The new input buffer.
3478 *
3479 */
3480    void fortran_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
3481{
3482   
3483   /* TODO. We should be able to replace this entire function body
3484    * with
3485    *    fortranpop_buffer_state();
3486    *    fortranpush_buffer_state(new_buffer);
3487     */
3488   fortranensure_buffer_stack ();
3489   if ( YY_CURRENT_BUFFER == new_buffer )
3490      return;
3491
3492   if ( YY_CURRENT_BUFFER )
3493      {
3494      /* Flush out information for old buffer. */
3495      *(yy_c_buf_p) = (yy_hold_char);
3496      YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3497      YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3498      }
3499
3500   YY_CURRENT_BUFFER_LVALUE = new_buffer;
3501   fortran_load_buffer_state( );
3502
3503   /* We don't actually know whether we did this switch during
3504    * EOF (fortranwrap()) processing, but the only time this flag
3505    * is looked at is after fortranwrap() is called, so it's safe
3506    * to go ahead and always set it.
3507    */
3508   (yy_did_buffer_switch_on_eof) = 1;
3509}
3510
3511static void fortran_load_buffer_state  (void)
3512{
3513      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3514   (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3515   fortranin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3516   (yy_hold_char) = *(yy_c_buf_p);
3517}
3518
3519/** Allocate and initialize an input buffer state.
3520 * @param file A readable stream.
3521 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3522 *
3523 * @return the allocated buffer state.
3524 */
3525    YY_BUFFER_STATE fortran_create_buffer  (FILE * file, int  size )
3526{
3527   YY_BUFFER_STATE b;
3528   
3529   b = (YY_BUFFER_STATE) fortranalloc(sizeof( struct yy_buffer_state )  );
3530   if ( ! b )
3531      YY_FATAL_ERROR( "out of dynamic memory in fortran_create_buffer()" );
3532
3533   b->yy_buf_size = size;
3534
3535   /* yy_ch_buf has to be 2 characters longer than the size given because
3536    * we need to put in 2 end-of-buffer characters.
3537    */
3538   b->yy_ch_buf = (char *) fortranalloc(b->yy_buf_size + 2  );
3539   if ( ! b->yy_ch_buf )
3540      YY_FATAL_ERROR( "out of dynamic memory in fortran_create_buffer()" );
3541
3542   b->yy_is_our_buffer = 1;
3543
3544   fortran_init_buffer(b,file );
3545
3546   return b;
3547}
3548
3549/** Destroy the buffer.
3550 * @param b a buffer created with fortran_create_buffer()
3551 *
3552 */
3553    void fortran_delete_buffer (YY_BUFFER_STATE  b )
3554{
3555   
3556   if ( ! b )
3557      return;
3558
3559   if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3560      YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3561
3562   if ( b->yy_is_our_buffer )
3563      fortranfree((void *) b->yy_ch_buf  );
3564
3565   fortranfree((void *) b  );
3566}
3567
3568#ifndef __cplusplus
3569extern int isatty (int );
3570#endif /* __cplusplus */
3571   
3572/* Initializes or reinitializes a buffer.
3573 * This function is sometimes called more than once on the same buffer,
3574 * such as during a fortranrestart() or at EOF.
3575 */
3576    static void fortran_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
3577
3578{
3579   int oerrno = errno;
3580   
3581   fortran_flush_buffer(b );
3582
3583   b->yy_input_file = file;
3584   b->yy_fill_buffer = 1;
3585
3586    /* If b is the current buffer, then fortran_init_buffer was _probably_
3587     * called from fortranrestart() or through yy_get_next_buffer.
3588     * In that case, we don't want to reset the lineno or column.
3589     */
3590    if (b != YY_CURRENT_BUFFER){
3591        b->yy_bs_lineno = 1;
3592        b->yy_bs_column = 0;
3593    }
3594
3595        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3596   
3597   errno = oerrno;
3598}
3599
3600/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3601 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3602 *
3603 */
3604    void fortran_flush_buffer (YY_BUFFER_STATE  b )
3605{
3606      if ( ! b )
3607      return;
3608
3609   b->yy_n_chars = 0;
3610
3611   /* We always need two end-of-buffer characters.  The first causes
3612    * a transition to the end-of-buffer state.  The second causes
3613    * a jam in that state.
3614    */
3615   b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3616   b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3617
3618   b->yy_buf_pos = &b->yy_ch_buf[0];
3619
3620   b->yy_at_bol = 1;
3621   b->yy_buffer_status = YY_BUFFER_NEW;
3622
3623   if ( b == YY_CURRENT_BUFFER )
3624      fortran_load_buffer_state( );
3625}
3626
3627/** Pushes the new state onto the stack. The new state becomes
3628 *  the current state. This function will allocate the stack
3629 *  if necessary.
3630 *  @param new_buffer The new state.
3631 * 
3632 */
3633void fortranpush_buffer_state (YY_BUFFER_STATE new_buffer )
3634{
3635      if (new_buffer == NULL)
3636      return;
3637
3638   fortranensure_buffer_stack();
3639
3640   /* This block is copied from fortran_switch_to_buffer. */
3641   if ( YY_CURRENT_BUFFER )
3642      {
3643      /* Flush out information for old buffer. */
3644      *(yy_c_buf_p) = (yy_hold_char);
3645      YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3646      YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3647      }
3648
3649   /* Only push if top exists. Otherwise, replace top. */
3650   if (YY_CURRENT_BUFFER)
3651      (yy_buffer_stack_top)++;
3652   YY_CURRENT_BUFFER_LVALUE = new_buffer;
3653
3654   /* copied from fortran_switch_to_buffer. */
3655   fortran_load_buffer_state( );
3656   (yy_did_buffer_switch_on_eof) = 1;
3657}
3658
3659/** Removes and deletes the top of the stack, if present.
3660 *  The next element becomes the new top.
3661 * 
3662 */
3663void fortranpop_buffer_state (void)
3664{
3665      if (!YY_CURRENT_BUFFER)
3666      return;
3667
3668   fortran_delete_buffer(YY_CURRENT_BUFFER );
3669   YY_CURRENT_BUFFER_LVALUE = NULL;
3670   if ((yy_buffer_stack_top) > 0)
3671      --(yy_buffer_stack_top);
3672
3673   if (YY_CURRENT_BUFFER) {
3674      fortran_load_buffer_state( );
3675      (yy_did_buffer_switch_on_eof) = 1;
3676   }
3677}
3678
3679/* Allocates the stack if it does not exist.
3680 *  Guarantees space for at least one push.
3681 */
3682static void fortranensure_buffer_stack (void)
3683{
3684   int num_to_alloc;
3685   
3686   if (!(yy_buffer_stack)) {
3687
3688      /* First allocation is just for 2 elements, since we don't know if this
3689       * scanner will even need a stack. We use 2 instead of 1 to avoid an
3690       * immediate realloc on the next call.
3691         */
3692      num_to_alloc = 1;
3693      (yy_buffer_stack) = (struct yy_buffer_state**)fortranalloc
3694                        (num_to_alloc * sizeof(struct yy_buffer_state*)
3695                        );
3696     
3697      memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3698           
3699      (yy_buffer_stack_max) = num_to_alloc;
3700      (yy_buffer_stack_top) = 0;
3701      return;
3702   }
3703
3704   if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3705
3706      /* Increase the buffer to prepare for a possible push. */
3707      int grow_size = 8 /* arbitrary grow size */;
3708
3709      num_to_alloc = (yy_buffer_stack_max) + grow_size;
3710      (yy_buffer_stack) = (struct yy_buffer_state**)fortranrealloc
3711                        ((yy_buffer_stack),
3712                        num_to_alloc * sizeof(struct yy_buffer_state*)
3713                        );
3714
3715      /* zero only the new slots.*/
3716      memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3717      (yy_buffer_stack_max) = num_to_alloc;
3718   }
3719}
3720
3721/** Setup the input buffer state to scan directly from a user-specified character buffer.
3722 * @param base the character buffer
3723 * @param size the size in bytes of the character buffer
3724 *
3725 * @return the newly allocated buffer state object.
3726 */
3727YY_BUFFER_STATE fortran_scan_buffer  (char * base, yy_size_t  size )
3728{
3729   YY_BUFFER_STATE b;
3730   
3731   if ( size < 2 ||
3732        base[size-2] != YY_END_OF_BUFFER_CHAR ||
3733        base[size-1] != YY_END_OF_BUFFER_CHAR )
3734      /* They forgot to leave room for the EOB's. */
3735      return 0;
3736
3737   b = (YY_BUFFER_STATE) fortranalloc(sizeof( struct yy_buffer_state )  );
3738   if ( ! b )
3739      YY_FATAL_ERROR( "out of dynamic memory in fortran_scan_buffer()" );
3740
3741   b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3742   b->yy_buf_pos = b->yy_ch_buf = base;
3743   b->yy_is_our_buffer = 0;
3744   b->yy_input_file = 0;
3745   b->yy_n_chars = b->yy_buf_size;
3746   b->yy_is_interactive = 0;
3747   b->yy_at_bol = 1;
3748   b->yy_fill_buffer = 0;
3749   b->yy_buffer_status = YY_BUFFER_NEW;
3750
3751   fortran_switch_to_buffer();
3752
3753   return b;
3754}
3755
3756/** Setup the input buffer state to scan a string. The next call to fortranlex() will
3757 * scan from a @e copy of @a str.
3758 * @param str a NUL-terminated string to scan
3759 *
3760 * @return the newly allocated buffer state object.
3761 * @note If you want to scan bytes that may contain NUL values, then use
3762 *       fortran_scan_bytes() instead.
3763 */
3764YY_BUFFER_STATE fortran_scan_string (yyconst char * yystr )
3765{
3766   
3767   return fortran_scan_bytes(yystr,strlen(yystr) );
3768}
3769
3770/** Setup the input buffer state to scan the given bytes. The next call to fortranlex() will
3771 * scan from a @e copy of @a bytes.
3772 * @param bytes the byte buffer to scan
3773 * @param len the number of bytes in the buffer pointed to by @a bytes.
3774 *
3775 * @return the newly allocated buffer state object.
3776 */
3777YY_BUFFER_STATE fortran_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
3778{
3779   YY_BUFFER_STATE b;
3780   char *buf;
3781   yy_size_t n;
3782   int i;
3783   
3784   /* Get memory for full buffer, including space for trailing EOB's. */
3785   n = _yybytes_len + 2;
3786   buf = (char *) fortranalloc();
3787   if ( ! buf )
3788      YY_FATAL_ERROR( "out of dynamic memory in fortran_scan_bytes()" );
3789
3790   for ( i = 0; i < _yybytes_len; ++i )
3791      buf[i] = yybytes[i];
3792
3793   buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3794
3795   b = fortran_scan_buffer(buf,n );
3796   if ( ! b )
3797      YY_FATAL_ERROR( "bad buffer in fortran_scan_bytes()" );
3798
3799   /* It's okay to grow etc. this buffer, and we should throw it
3800    * away when we're done.
3801    */
3802   b->yy_is_our_buffer = 1;
3803
3804   return b;
3805}
3806
3807#ifndef YY_EXIT_FAILURE
3808#define YY_EXIT_FAILURE 2
3809#endif
3810
3811static void yy_fatal_error (yyconst char* msg )
3812{
3813      (void) fprintf( stderr, "%s\n", msg );
3814   exit( YY_EXIT_FAILURE );
3815}
3816
3817/* Redefine yyless() so it works in section 3 code. */
3818
3819#undef yyless
3820#define yyless(n) \
3821   do \
3822      { \
3823      /* Undo effects of setting up fortrantext. */ \
3824        int yyless_macro_arg = (n); \
3825        YY_LESS_LINENO(yyless_macro_arg);\
3826      fortrantext[fortranleng] = (yy_hold_char); \
3827      (yy_c_buf_p) = fortrantext + yyless_macro_arg; \
3828      (yy_hold_char) = *(yy_c_buf_p); \
3829      *(yy_c_buf_p) = '\0'; \
3830      fortranleng = yyless_macro_arg; \
3831      } \
3832   while ( 0 )
3833
3834/* Accessor  methods (get/set functions) to struct members. */
3835
3836/** Get the current line number.
3837 *
3838 */
3839int fortranget_lineno  (void)
3840{
3841       
3842    return fortranlineno;
3843}
3844
3845/** Get the input stream.
3846 *
3847 */
3848FILE *fortranget_in  (void)
3849{
3850        return fortranin;
3851}
3852
3853/** Get the output stream.
3854 *
3855 */
3856FILE *fortranget_out  (void)
3857{
3858        return fortranout;
3859}
3860
3861/** Get the length of the current token.
3862 *
3863 */
3864int fortranget_leng  (void)
3865{
3866        return fortranleng;
3867}
3868
3869/** Get the current token.
3870 *
3871 */
3872
3873char *fortranget_text  (void)
3874{
3875        return fortrantext;
3876}
3877
3878/** Set the current line number.
3879 * @param line_number
3880 *
3881 */
3882void fortranset_lineno (int  line_number )
3883{
3884   
3885    fortranlineno = line_number;
3886}
3887
3888/** Set the input stream. This does not discard the current
3889 * input buffer.
3890 * @param in_str A readable stream.
3891 *
3892 * @see fortran_switch_to_buffer
3893 */
3894void fortranset_in (FILE *  in_str )
3895{
3896        fortranin = in_str ;
3897}
3898
3899void fortranset_out (FILE *  out_str )
3900{
3901        fortranout = out_str ;
3902}
3903
3904int fortranget_debug  (void)
3905{
3906        return fortran_flex_debug;
3907}
3908
3909void fortranset_debug (int  bdebug )
3910{
3911        fortran_flex_debug = bdebug ;
3912}
3913
3914static int yy_init_globals (void)
3915{
3916        /* Initialization is the same as for the non-reentrant scanner.
3917     * This function is called from fortranlex_destroy(), so don't allocate here.
3918     */
3919
3920    (yy_buffer_stack) = 0;
3921    (yy_buffer_stack_top) = 0;
3922    (yy_buffer_stack_max) = 0;
3923    (yy_c_buf_p) = (char *) 0;
3924    (yy_init) = 0;
3925    (yy_start) = 0;
3926
3927/* Defined in main.c */
3928#ifdef YY_STDINIT
3929    fortranin = stdin;
3930    fortranout = stdout;
3931#else
3932    fortranin = (FILE *) 0;
3933    fortranout = (FILE *) 0;
3934#endif
3935
3936    /* For future reference: Set errno on error, since we are called by
3937     * fortranlex_init()
3938     */
3939    return 0;
3940}
3941
3942/* fortranlex_destroy is for both reentrant and non-reentrant scanners. */
3943int fortranlex_destroy  (void)
3944{
3945   
3946    /* Pop the buffer stack, destroying each element. */
3947   while(YY_CURRENT_BUFFER){
3948      fortran_delete_buffer(YY_CURRENT_BUFFER  );
3949      YY_CURRENT_BUFFER_LVALUE = NULL;
3950      fortranpop_buffer_state();
3951   }
3952
3953   /* Destroy the stack itself. */
3954   fortranfree((yy_buffer_stack) );
3955   (yy_buffer_stack) = NULL;
3956
3957    /* Reset the globals. This is important in a non-reentrant scanner so the next time
3958     * fortranlex() is called, initialization will occur. */
3959    yy_init_globals( );
3960
3961    return 0;
3962}
3963
3964/*
3965 * Internal utility routines.
3966 */
3967
3968#ifndef yytext_ptr
3969static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3970{
3971   register int i;
3972   for ( i = 0; i < n; ++i )
3973      s1[i] = s2[i];
3974}
3975#endif
3976
3977#ifdef YY_NEED_STRLEN
3978static int yy_flex_strlen (yyconst char * s )
3979{
3980   register int n;
3981   for ( n = 0; s[n]; ++n )
3982      ;
3983
3984   return n;
3985}
3986#endif
3987
3988void *fortranalloc (yy_size_t  size )
3989{
3990   return (void *) malloc( size );
3991}
3992
3993void *fortranrealloc  (void * ptr, yy_size_t  size )
3994{
3995   /* The cast to (char *) in the following accommodates both
3996    * implementations that use char* generic pointers, and those
3997    * that use void* generic pointers.  It works with the latter
3998    * because both ANSI C and C++ allow castless assignment from
3999    * any pointer type to void*, and deal with argument conversions
4000    * as though doing an assignment.
4001    */
4002   return (void *) realloc( (char *) ptr, size );
4003}
4004
4005void fortranfree (void * ptr )
4006{
4007   free( (char *) ptr );   /* see fortranrealloc() for (char *) cast */
4008}
4009
4010#define YYTABLES_NAME "yytables"
4011
4012#line 319 "fortran.lex"
4013
4014
4015
4016fortranerror(char *s)
4017{
4018   if (!strcasecmp(curfile,mainfile))
4019   {
4020      printf("%s line %d, file %s\n",s,line_num_fortran,curfile);
4021   }
4022   else
4023   {
4024      printf("%s line %d, file %s\n",s,line_num_fortran_common,curfile);
4025   }
4026   /*exit(0);*/
4027}
4028
4029int fortranwrap()
4030{
4031}
4032
Note: See TracBrowser for help on using the repository browser.