1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  *   Licensed to the Apache Software Foundation (ASF) under one or more
12  *   contributor license agreements. See the NOTICE file distributed
13  *   with this work for additional information regarding copyright
14  *   ownership. The ASF licenses this file to you under the Apache
15  *   License, Version 2.0 (the "License"); you may not use this file
16  *   except in compliance with the License. You may obtain a copy of
17  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 /* A lexical scanner generated by flex */
21 
22 /* Scanner skeleton version:
23  */
24 #ifndef YY_STACK_USED
25 #define YY_STACK_USED 0
26 #endif
27 #ifndef YY_ALWAYS_INTERACTIVE
28 #define YY_ALWAYS_INTERACTIVE 0
29 #endif
30 #ifndef YY_NEVER_INTERACTIVE
31 #define YY_NEVER_INTERACTIVE 0
32 #endif
33 #ifndef YY_MAIN
34 #define YY_MAIN 0
35 #endif
36 
37 #include <stdio.h>
38 
39 #include <stdlib.h>
40 #ifndef _WIN32
41 #include <unistd.h>
42 #else
43 #include <io.h>
44 #endif
45 
46 
47 /* Use prototypes in function declarations. */
48 #define YY_USE_PROTOS
49 
50 /* The "const" storage-class-modifier is valid. */
51 #define YY_USE_CONST
52 
53 #ifdef YY_USE_CONST
54 #define yyconst const
55 #else
56 #define yyconst
57 #endif
58 
59 
60 #ifdef YY_USE_PROTOS
61 #define YY_PROTO(proto) proto
62 #else
63 #define YY_PROTO(proto) ()
64 #endif
65 
66 /* Returned upon end-of-file. */
67 #define YY_NULL 0
68 
69 /* Promotes a possibly negative, possibly signed char to an unsigned
70  * integer for use as an array index.  If the signed char is negative,
71  * we want to instead treat it as an 8-bit unsigned char, hence the
72  * double cast.
73  */
74 #define YY_SC_TO_UI(c) (static_cast<unsigned int>(static_cast<unsigned char>(c)))
75 
76 /* Translate the current start state into a value that can be later handed
77  * to BEGIN to return to the state.
78  */
79 #define YY_START ((yy_start - 1) / 2)
80 
81 /* Action number for EOF rule of a given start state. */
82 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
83 
84 /* Special action meaning "start processing a new file". */
85 #define YY_NEW_FILE yyrestart( yyin )
86 
87 #define YY_END_OF_BUFFER_CHAR 0
88 
89 /* Size of default input buffer. */
90 #define YY_BUF_SIZE 16384
91 
92 typedef struct yy_buffer_state *YY_BUFFER_STATE;
93 
94 #define EOB_ACT_CONTINUE_SCAN 0
95 #define EOB_ACT_END_OF_FILE 1
96 #define EOB_ACT_LAST_MATCH 2
97 
98 //#define unput(c) yyunput( c, yytext_ptr )
99 
100 /* The following is because we cannot portably get our hands on size_t
101  * (without autoconf's help, which isn't available because we want
102  * flex-generated scanners to compile on their own).
103  */
104 typedef unsigned int yy_size_t;
105 
106 
107 struct yy_buffer_state
108     {
109     FILE *yy_input_file;
110 
111     char *yy_ch_buf;        /* input buffer */
112     char *yy_buf_pos;       /* current position in input buffer */
113 
114     /* Size of input buffer in bytes, not including room for EOB
115      * characters.
116      */
117     yy_size_t yy_buf_size;
118 
119     /* Number of characters read into yy_ch_buf, not including EOB
120      * characters.
121      */
122     int yy_n_chars;
123 
124     /* Whether we "own" the buffer - i.e., we know we created it,
125      * and can realloc() it to grow it, and should free() it to
126      * delete it.
127      */
128     int yy_is_our_buffer;
129 
130     /* Whether this is an "interactive" input source; if so, and
131      * if we're using stdio for input, then we want to use getc()
132      * instead of fread(), to make sure we stop fetching input after
133      * each newline.
134      */
135     bool yy_is_interactive;
136 
137     /* Whether we're considered to be at the beginning of a line.
138      * If so, '^' rules will be active on the next match, otherwise
139      * not.
140      */
141     int yy_at_bol;
142 
143     /* Whether to try to fill the input buffer when we reach the
144      * end of it.
145      */
146     int yy_fill_buffer;
147 
148     int yy_buffer_status;
149 #define YY_BUFFER_NEW 0
150 #define YY_BUFFER_NORMAL 1
151     /* When an EOF's been seen but there's still some text to process
152      * then we mark the buffer as YY_EOF_PENDING, to indicate that we
153      * shouldn't try reading from the input source any more.  We might
154      * still have a bunch of tokens to match, though, because of
155      * possible backing-up.
156      *
157      * When we actually see the EOF, we change the status to "new"
158      * (via yyrestart()), so that the user can continue scanning by
159      * just pointing yyin at a new input file.
160      */
161 #define YY_BUFFER_EOF_PENDING 2
162     };
163 
164 static YY_BUFFER_STATE yy_current_buffer = nullptr;
165 
166 /* We provide macros for accessing buffer states in case in the
167  * future we want to put the buffer states in a more general
168  * "scanner state".
169  */
170 #define YY_CURRENT_BUFFER yy_current_buffer
171 
172 
173 /* yy_hold_char holds the character lost when yytext is formed. */
174 static char yy_hold_char;
175 
176 static int yy_n_chars;      /* number of characters read into yy_ch_buf */
177 
178 
179 static int yyleng;
180 
181 /* Points to current character in buffer. */
182 static char *yy_c_buf_p = nullptr;
183 static int yy_init = 1;     /* whether we need to initialize */
184 static int yy_start = 0;    /* start state number */
185 
186 /* Flag which is used to allow yywrap()'s to do buffer switches
187  * instead of setting up a fresh yyin.  A bit of a hack ...
188  */
189 static int yy_did_buffer_switch_on_eof;
190 
191 static void yyrestart YY_PROTO(( FILE *input_file ));
192 
193 static void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
194 static void yy_load_buffer_state YY_PROTO(( ));
195 static YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
196 static void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
197 static void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
198 static void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
199 
200 static YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
201 static YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
202 static YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
203 
204 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
205 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
206 static void yy_flex_free YY_PROTO(( void * ));
207 
208 typedef unsigned char YY_CHAR;
209 static FILE *yyin = nullptr, *yyout = nullptr;
210 typedef int yy_state_type;
211 #define yytext_ptr yytext
212 
213 static yy_state_type yy_get_previous_state YY_PROTO(( ));
214 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
215 static int yy_get_next_buffer YY_PROTO(( ));
216 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
217 
218 /* Done after the current pattern has been matched and before the
219  * corresponding action - sets up yytext.
220  */
221 #define YY_DO_BEFORE_ACTION \
222     yytext_ptr = yy_bp; \
223     yyleng = static_cast<int>(yy_cp - yy_bp); \
224     yy_hold_char = *yy_cp; \
225     *yy_cp = '\0'; \
226     yy_c_buf_p = yy_cp;
227 
228 #define YY_END_OF_BUFFER 46
229 static yyconst short int yy_accept[994] =
230     {   0,
231         0,    0,   46,   44,   41,   41,   44,   42,   39,   37,
232        37,   36,   39,   39,   44,   44,   38,   40,   35,   43,
233        13,   21,   36,   36,   22,   16,   17,    0,   34,    0,
234         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
235         0,    0,   24,    0,   24,    0,    0,    0,    0,    0,
236         7,    0,    0,    0,    0,    0,    0,    0,    0,    0,
237         0,    0,    0,    0,   42,    0,    0,    0,    0,    0,
238         0,    0,    0,    0,    0,    0,    4,   31,    5,   43,
239        36,   20,   14,   15,    0,    0,    0,    0,    0,    0,
240         0,    0,    0,    0,    0,    0,   24,    0,    0,    0,
241 
242         0,    0,    0,   10,    0,    0,   27,    0,    0,    0,
243         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
244         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
245         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
246         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
247         0,    0,    0,    0,    0,    0,   12,   12,    0,    0,
248         0,    0,    0,    0,    0,   12,    0,    0,    0,    0,
249         0,    0,    0,    0,   12,    0,   27,    0,    0,    0,
250         0,    0,    0,    0,    0,   11,    0,    9,    0,    0,
251         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
252 
253         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
254         0,    0,    0,   23,    0,    0,    0,    0,    0,    0,
255         0,    0,    0,    0,    0,    0,    0,    0,   19,    0,
256         0,    0,    0,    0,    0,    0,    0,    0,    0,   18,
257         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
258         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
259         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
260         0,    0,    0,    0,    8,    0,    0,    0,    0,    0,
261         0,    0,    0,    0,    0,    0,    0,    0,    0,   27,
262        27,    0,    0,    0,    0,   12,    0,    0,    8,    0,
263 
264         0,    0,    2,    0,    0,    0,    0,    0,    0,    0,
265         0,    0,    0,    0,    0,    0,    0,   27,   26,    0,
266         0,    0,    0,    0,    0,    0,    0,    0,    0,   27,
267         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
268         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
269         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
270         0,    0,    0,    0,    0,    0,    0,    0,   12,   27,
271         0,    0,    0,    0,    0,    0,    0,    0,    0,   27,
272         0,    0,   27,    0,    0,    0,    0,    0,    0,    0,
273         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
274 
275         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
276         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
277         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
278         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
279         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
280         0,   11,    0,    0,    0,    0,    0,    0,    8,    0,
281         0,    0,    0,    0,    0,    0,    0,    0,    0,   29,
282         0,    0,    0,    0,    0,    0,   24,    0,    0,    0,
283         0,    0,    0,    0,    0,    3,    0,    0,    0,    0,
284         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
285 
286         0,    0,    0,    0,    0,    0,    0,   30,    0,    0,
287        12,    0,    0,    0,    0,    0,    0,    0,    0,    0,
288         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
289         0,    0,    0,   28,    0,    0,   12,    0,    0,    0,
290         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
291         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
292        19,    0,    0,    0,    0,    0,    0,    0,    0,    0,
293         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
294         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
295         1,    0,    0,    0,    0,    0,    0,    0,    0,    0,
296 
297         0,    0,    0,    0,    0,    0,   25,    0,    0,    0,
298         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
299         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
300         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
301         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
302         0,    0,    0,    0,    0,    6,    0,    0,    0,    0,
303         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
304         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
305         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
306         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
307 
308         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
309         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
310         0,    0,    0,    0,    0,    0,    0,    0,   32,    0,
311         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
312         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
313         0,    0,    0,    0,    0,   12,    0,   12,    0,    0,
314         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
315         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
316         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
317         0,    0,    0,    0,    0,    0,   11,    0,    0,    0,
318 
319         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
320         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
321         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
322         0,    0,    0,    0,    0,   33,    0,    0,    0,    0,
323         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
324         0,    0,    0,    0,    0,   19,    0,    0,    0,    0,
325         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
326         0,    0,   12,   12,    0,   24,    0,    0,    0,    0,
327         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
328         0,    0,   19,    0,    0,    0,    0,    0,    0,    0,
329 
330         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
331         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
332         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
333         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
334         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
335         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
336         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
337         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
338         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
339         0,    0,    0
340 
341     } ;
342 
343 static yyconst int yy_ec[256] =
344     {   0,
345         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
346         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
347         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
348         1,    1,    4,    1,    1,    1,    1,    5,    1,    6,
349         7,    8,    8,    9,   10,   11,    8,   12,   12,   12,
350        12,   12,   12,   12,   12,   12,   12,   13,   14,   15,
351        16,   17,    1,    1,   18,   19,   20,   21,   22,    1,
352        23,    1,   24,   25,   26,   27,   28,   29,   30,   31,
353         1,   32,   33,   34,   35,   36,    1,   37,    1,   38,
354        39,   40,   41,   42,   42,    1,   43,   44,   45,   46,
355 
356        47,   48,   49,   50,   51,   52,   53,   54,   55,   56,
357        57,   58,   59,   60,   61,   62,   63,   64,   65,   66,
358        67,   68,   69,   70,   71,   72,    1,    1,    1,    1,
359         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
360         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
361         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
362        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
363        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
364        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
365        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
366 
367        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
368        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
369        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
370        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
371        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
372        73,   73,   73,   73,    1
373     } ;
374 
375 static yyconst int yy_meta[74] =
376     {   0,
377         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
378         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
379         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
380         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
381         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
382         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
383         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
384         1,    1,    1
385     } ;
386 
387 static yyconst short int yy_base[995] =
388     {   0,
389         0,   72, 1314, 1315, 1315, 1315, 1297, 1315, 1315, 1315,
390      1295,    2,    8, 1294, 1281,  142, 1315, 1315, 1315, 1236,
391      1315, 1315, 1296,    8, 1290, 1291, 1288, 1274, 1315,    0,
392         0, 1253,    1,    1, 1259,    7, 1244, 1257,    8, 1236,
393      1235, 1242,   35,   43, 1245,    0, 1237, 1251, 1242, 1245,
394      1315,   46,   72,  171,   79,   62,   77,  184,  192,   92,
395      1236,    2,  207,  216,  225,  234,  250,   46,  269,  278,
396       295,   10,  111,  255,   10, 1243, 1315, 1315, 1315, 1216,
397      1276, 1315, 1315, 1315, 1253, 1228, 1225, 1222, 1217, 1231,
398      1227, 1237, 1214, 1217, 1234, 1221, 1315, 1213, 1223, 1215,
399 
400      1217, 1223, 1214, 1315,  168, 1218, 1315, 1217, 1210, 1217,
401      1216, 1201, 1216,  177, 1202, 1199, 1197,   34, 1216, 1209,
402      1199,  181,   36,  164,  198, 1207,  119,  199, 1201, 1196,
403      1196,  218, 1192, 1188,  225, 1205, 1191,   78,   40,  245,
404       280, 1197,  175, 1184, 1192, 1187, 1198, 1182, 1179, 1198,
405       101, 1197, 1179,  227, 1183, 1191, 1177, 1315, 1192, 1172,
406      1190, 1189,   53, 1184, 1187,  260, 1167, 1171, 1184, 1168,
407      1165,  248, 1177, 1166,  291, 1168, 1161, 1174, 1164, 1161,
408       222,  268, 1160,    0, 1170, 1315, 1172, 1315,  247,  299,
409      1152, 1170, 1155, 1155,  300, 1156, 1155, 1157, 1160, 1146,
410 
411      1145, 1153,  302, 1152, 1139, 1158, 1144, 1152, 1147, 1143,
412      1136,  308, 1146, 1137, 1150, 1136,  317, 1148,  308,  318,
413      1147,  311, 1146,  322, 1145,  312, 1140,  319, 1128, 1134,
414       324,  340, 1124,  333,  340, 1137, 1136, 1121, 1118, 1315,
415      1129, 1121, 1134, 1114, 1120, 1118, 1122, 1117, 1128, 1114,
416      1111, 1124, 1105, 1117, 1116, 1119, 1113, 1107, 1099, 1100,
417      1102, 1107,  344, 1114, 1094, 1097, 1104, 1099,  327, 1092,
418       347, 1094, 1095, 1096, 1315, 1105, 1096, 1103,  350, 1083,
419      1099, 1079, 1088, 1079, 1095, 1094, 1094, 1088, 1076, 1085,
420      1084, 1084, 1082, 1082, 1068, 1067, 1073, 1071, 1079, 1069,
421 
422      1069, 1061, 1315, 1071, 1070, 1059, 1057, 1075, 1072, 1051,
423      1060, 1050, 1053, 1052, 1058, 1054,  348, 1047, 1315, 1065,
424      1045, 1048, 1061, 1055, 1052, 1040, 1039, 1043, 1042,  338,
425      1035, 1048, 1035, 1048, 1038, 1039, 1029, 1031,  276, 1030,
426      1027, 1026, 1038,  371, 1023, 1042, 1029, 1023,  355, 1024,
427      1036, 1025,  372, 1036, 1032, 1028, 1025, 1020, 1017, 1016,
428      1022, 1008, 1014, 1020, 1008, 1012, 1006, 1010, 1017, 1013,
429      1008, 1007, 1014,  360,  997,  995,  997,  995, 1010,  372,
430      1008,  993, 1002,  156, 1005, 1003, 1006, 1001,  997,  996,
431       985,  987,  980,  991,  374,  980,  978,  977,  989,  990,
432 
433       993,  992,  969,  990,  975,  988,  976,  986,  985,  981,
434       379,  191,  983,  965,  962,  980,  979,  961,  955,  965,
435       960,  374,  967,  965,  965,  967,  963,  969,  962,  963,
436       947,  951,  950,  955,  962,  939,  945,  941,  938,  944,
437       377,  383,  940,  938,  939,  949,  948,  943,  946,  945,
438       944,  929,  936,  927,  930,  939,  921,  935,  922,  939,
439       924,  933,  920,  935,  910,  922,  911,  912,  919, 1315,
440       916,  928,  923,  907,  388,  906,  920,  916,  898,  914,
441       920,  916,  907,  906,  898,  400,  901,  894,  900,  892,
442       893,  392,  891,  898,  902,  907,  889,  888,  891,  895,
443 
444       885,  901,  883,  879,  880,  879,  892,  405,  884,  886,
445       889,  888,  872,  887,  878,  877,  887,  872,  865,  865,
446       865,  876,  870,  863,  871,  863,  877,  860,  864,  870,
447       869,  857,  856, 1315,  400,  866,  865,  851,  863,  849,
448       861,  864,  859,  844,  848,  843,  856,  855,  840,  834,
449       837,  843,  838,  403,  845,  843,  843,  834,  841,  829,
450      1315,  842,  401,  824,  831,  826,  828,  841,  823,  831,
451       834,  829,  822,  835,  820,  820,  818,  813,  822,  815,
452       822,  823,  809,  802,  806,  810,  809,  800,  809,  801,
453      1315,  803,  800,  801,  404,  807,  803,  805,  810,  803,
454 
455       799,  805,  805,  803,  785,  786, 1315,  784,  800,  785,
456       797,  787,  782,  780,  783,  778,  784,  776,  789,  784,
457       783,  790,  785,  771,  787,  778,  768,  769,  778,  767,
458       762,  776,  779,  770,  763,  758,  764,  774,  759,   93,
459       126,  187,  225,  269,  333,  415,  345,  372,  388,  397,
460       400,  417,  418,  408,  411,  427,  409,  418,  426,  417,
461       419,  415,  417,  418,  419,  419,  423,  422,  422,  428,
462       438,  438,  444,  432,  434,  434,  431,  442,  437,  446,
463       449,  436,  456,  449,  454,  456,  443,  448,  445,  457,
464       459,  459,  453,  450,  446,  469,  457,  463,  460,  454,
465 
466       460,  471,  476,  473,  476,  458,  461,  468,  462,  471,
467       484,  485,  466,  481,  484,  481,  473,  488,  475,  489,
468       481,  475,  491,  491,  496,  482,  483,  495, 1315,  502,
469       498,  490,  500,  503,  497,  487,  488,  498,  512,  508,
470       501,  509,  512,  506,  514,  502,  520,  521,  518,  501,
471       504,  505,  506,  523,  524,  525,  526,  527,  510,  519,
472       523,  518,  528,  515,  538,  526,  532,  529,  523,  535,
473       525,  534,  529,  533,  534,  542,  531,  544,  535,  536,
474       543,  555,  556,  545,  541,  541,  540,  543,  558,  548,
475       549,  552,  548,  563,  551,  550,  552,  557,  553,  565,
476 
477       555,  568,  576,  563,  563,  572,  578,  562,  564,  576,
478       582,  566,  582,  580,  577,  572,  573,  589,  574,  581,
479       586,  576,  577,  581,  579,  583,  583,  597,  602,  590,
480       587,  594,  606,  607,  597, 1315,  606,  591,  589,  590,
481       594,  614,  596,  602,  600,  604,  600,  613,  603,  604,
482       617,  605,  605,  604,  608,  628,  610,  619,  610,  619,
483       615,  628,  636,  618,  619,  635,  640,  622,  628,  628,
484       637,  626,  642,  643,  644,  646,  648,  647,  635,  640,
485       641,  652,  658,  642,  652,  661,  640,  650,  652,  655,
486       659,  651,  669,  656,  671,  668,  656,  666,  661,  676,
487 
488       660,  678,  657,  666,  677,  666,  667,  680,  677,  682,
489       673,  675,  676,  673,  674,  686,  676,  672,  691,  677,
490       680,  681,  686,  683,  684,  696,  686,  687,  688,  692,
491       702,  702,  687,  693,  697,  705,  696,  711,  701,  699,
492       714,  701,  705,  713,  704,  708,  706,  711,  706,  719,
493       713,  706,  710,  716,  718,  718,  713,  722,  723,  723,
494       725,  718,  722,  728,  721,  730,  742,  727,  725,  748,
495       727,  728,  729,  730,  731,  754,  733,  734,  743,  743,
496       742,  747,  748,  746,  742,  748,  749,  754,  754,  755,
497       748,  749, 1315,  814
498 
499     } ;
500 
501 static yyconst short int yy_def[995] =
502     {   0,
503       994,  994,  993,  993,  993,  993,  993,  993,  993,  993,
504       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
505       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
506       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
507       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
508       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
509       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
510       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
511       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
512       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
513 
514       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
515       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
516       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
517       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
518       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
519       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
520       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
521       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
522       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
523       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
524 
525       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
526       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
527       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
528       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
529       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
530       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
531       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
532       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
533       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
534       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
535 
536       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
537       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
538       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
539       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
540       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
541       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
542       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
543       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
544       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
545       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
546 
547       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
548       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
549       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
550       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
551       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
552       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
553       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
554       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
555       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
556       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
557 
558       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
559       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
560       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
561       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
562       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
563       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
564       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
565       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
566       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
567       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
568 
569       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
570       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
571       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
572       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
573       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
574       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
575       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
576       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
577       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
578       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
579 
580       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
581       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
582       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
583       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
584       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
585       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
586       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
587       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
588       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
589       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
590 
591       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
592       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
593       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
594       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
595       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
596       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
597       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
598       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
599       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
600       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
601 
602       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
603       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
604       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
605       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
606       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
607       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
608       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
609       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
610       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
611       993,  993,    0,  993
612 
613     } ;
614 
615 static yyconst short int yy_nxt[1389] =
616     {   0,
617       993,    5,    6,    7,    8,    9,    9,   10,  993,   11,
618       993,   12,   23,   24,   13,   10,   14,   25,   23,   24,
619       993,  993,   26,  993,  993,  993,   15,  993,  993,  993,
620       993,  993,  993,  993,  993,  993,  993,  993,    9,   16,
621         9,   17,  112,  993,  170,  158,   88,   91,  171,  113,
622       101,   92,  993,   86,  102,  107,   89,   93,   94,   87,
623       188,   97,   95,   98,  103,  231,  238,  232,    9,   18,
624         9,   19,   20,    5,    6,    7,    8,    9,    9,   10,
625       266,   11,  294,   12,  106,  104,   13,   10,   14,   97,
626       117,  267,  109,  110,  107,  108,  295,  186,   15,  118,
627 
628       119,  120,  273,  121,  205,  122,  123,  107,  206,  315,
629         9,   16,    9,   17,  124,  145,  146,  147,  125,  148,
630       149,  138,  126,  150,  139,  140,  292,  151,  127,  141,
631       152,  128,  142,  153,  129,  143,  154,  164,  293,  144,
632         9,   18,    9,   19,   20,   29,  165,  166,  167,  737,
633        29,  306,  168,  233,   29,   29,  234,  235,  107,   30,
634        31,   32,   33,   34,   35,   36,   37,   38,   39,   40,
635        41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
636        97,   51,  738,  280,   52,   53,   54,   55,   56,   57,
637        58,   59,   60,   61,   62,   63,   64,   65,   66,   67,
638 
639        68,   69,   70,   71,   72,   73,   74,   75,  274,   76,
640        77,   78,   79,  130,  255,  541,  131,  542,  256,  260,
641       132,  133,  261,  275,  134,  271,  155,  135,  156,  107,
642       157,  136,  158,  137,  160,  161,  299,  262,  162,  300,
643       272,  281,  276,  159,  571,  282,  277,  186,  163,  172,
644       572,  173,  174,  175,  176,  177,  178,  179,  182,  278,
645       158,  180,  107,  181,  285,  183,  184,  189,  188,  309,
646       107,  190,  185,  186,  186,  158,  187,  332,  188,  193,
647       288,  191,  289,  310,  194,  290,  291,  188,  195,  192,
648       336,  196,  200,  107,  197,  198,  201,  199,  296,  202,
649 
650       188,  236,  323,  324,  186,  237,  107,  318,  337,  203,
651       204,  207,   97,  208,  186,  209,  210,  211,  212,  213,
652       216,  319,  297,  214,  217,  333,  499,  218,  219,  186,
653       215,  500,  220,  107,  107,  221,  222,  226,  327,  223,
654       224,  338,  225,  186,  227,  228,  343,   97,  351,  158,
655       344,  229,  352,  186,  230,  374,  368,  158,  353,  365,
656       371,  107,  369,  370,  188,  378,  379,  383,  372,  388,
657       375,  376,  385,  386,  188,  396,  319,  389,  366,  380,
658       430,  381,  391,  390,  275,  392,  186,  431,  489,  397,
659       421,  433,  739,  393,  441,  742,  477,  509,  490,  398,
660 
661       394,  422,  532,  423,  424,  425,  442,  434,  435,  478,
662       443,  444,  445,  446,  447,  503,  510,  319,  538,  592,
663       553,  569,  533,  579,  104,  743,  504,  593,  595,  513,
664       744,  554,  539,  555,  556,  557,  558,  596,  570,  594,
665       597,  619,  624,  664,  598,  632,  633,  620,  645,  625,
666       683,  634,  678,  188,  706,  158,  158,  665,  646,  626,
667       707,  740,  684,   79,  647,  741,  745,   79,  729,  746,
668       748,  749,   97,  750,  751,  752,  747,  753,  754,  755,
669       756,  158,  757,  758,  759,  760,  761,  762,  764,  765,
670       766,  767,  188,  188,  768,  769,  770,  763,  771,  772,
671 
672       773,   97,  774,  104,  775,  776,  777,  778,  104,  779,
673       561,  780,  104,  781,  782,  783,  784,  785,  786,  158,
674       186,  319,  319,  787,  788,  789,  790,  792,  793,  794,
675       795,  796,  186,  797,  798,  799,  188,  800,  801,  802,
676       803,  804,  805,  806,  807,  808,  791,  809,  810,   97,
677        97,  561,  561,  188,  811,  812,  813,  814,  815,   97,
678       158,  816,  817,  818,   97,  561,  819,  820,  821,  822,
679       823,  824,  825,  826,  561,  827,  828,  829,  830,  561,
680       831,  188,  832,  833,  834,  835,  836,  837,  838,  839,
681       840,  841,  842,  843,  844,  845,  846,  104,  104,   97,
682 
683       847,  848,  849,  319,  850,  319,  319,  851,  319,  319,
684       852,   97,  853,  854,   97,  855,  856,  857,  858,  859,
685       860,  861,  862,  863,  864,  865,  866,  867,  836,  868,
686       158,  869,  870,  871,  186,  319,  872,  873,  874,  158,
687       158,  158,  875,  876,  877,  878,  879,  880,  188,  188,
688       881,  882,  729,  561,  561,  883,  884,  886,  887,  888,
689       889,  729,   78,  319,  319,  890,  729,  891,  561,   97,
690       892,  893,  158,  885,  561,  894,  895,  896,  897,  899,
691       900,  836,  901,  902,  903,  904,  905,   97,  906,  907,
692       158,   97,  910,  836,  911,  898,  912,  913,  836,  908,
693 
694       914,  915,  916,  917,  561,  909,  918,  104,  919,  920,
695       921,  922,  923,  924,  729,  925,  926,  561,  927,  928,
696       929,  561,  930,  729,  158,  158,  931,  932,  836,  933,
697       188,  188,  934,  935,  936,  937,  561,  938,   97,  939,
698       940,  941,  942,  943,  944,  945,  946,  947,  948,  949,
699       950,  561,  951,  952,  953,  954,  955,  957,  958,  959,
700       961,  962,  963,  964,  965,  966,  967,  186,  968,  969,
701       561,  970,  971,  956,  972,  186,  960,  561,  973,  974,
702       561,  975,  561,  976,  977,  836,  978,  979,  186,  561,
703       981,  561,  982,  561,  983,  561,  984,  561,  836,  985,
704 
705       561,  986,  186,  561,  980,  987,  988,  989,  990,  561,
706       991,  992,  561,  561,    4,  736,  735,  734,  158,  561,
707       733,  732,  731,  730,  107,  107,  729,   77,  728,  727,
708       726,   77,  188,  725,  724,  723,  722,   97,   97,  721,
709       720,  719,  718,  717,  186,  319,  716,  186,  715,  158,
710       714,  319,  713,  712,  711,  710,  709,  708,  319,  705,
711       319,  704,  703,  702,  107,  107,  107,  158,  701,  700,
712       699,  104,  104,  698,  697,  696,  695,  694,  693,  692,
713       691,  690,  689,  104,  688,  687,  686,  685,  186,  607,
714       158,  682,  681,  680,  679,  677,  676,  186,  675,  674,
715 
716       186,  186,  673,  672,  186,  275,  188,  671,  670,  669,
717       668,  667,  666,  186,  186,  663,  158,  662,  158,  188,
718        97,  661,  660,  659,  658,  657,  656,  655,  654,  653,
719        79,  652,   29,  651,   97,  650,  649,  648,  644,  643,
720       186,  642,  641,  188,  640,  158,  158,  639,  638,   97,
721       637,  636,  635,  631,  630,  629,  628,  627,  607,   77,
722       623,  622,  188,   97,  607,   97,  158,  621,  618,  275,
723       188,  158,  617,  616,  158,  615,  614,  613,  158,  561,
724       612,  188,  607,  611,  158,  610,  609,  608,  275,  607,
725       606,  275,  605,  604,  603,  602,  601,  600,  599,  591,
726 
727       590,  589,  158,  588,  587,  586,  585,  584,  583,   97,
728       186,  188,   97,  275,  582,  581,  580,  578,  577,  576,
729       575,  104,  104,  574,  573,  104,  568,  104,  104,  567,
730       566,  565,  104,  564,  104,  188,  563,  562,  561,  560,
731       559,  552,  551,  550,  549,  548,  547,  546,  545,  544,
732       543,  107,  540,   97,  537,  536,  186,  535,  534,  531,
733       530,  529,  107,  528,  527,  526,  525,  524,  523,  522,
734       521,  520,  519,  518,  517,  516,  515,   29,  514,  512,
735       511,  158,  508,  507,  506,  505,  502,  319,  186,  501,
736       498,  497,  496,  495,  494,  493,  492,  491,  488,  487,
737 
738       486,  485,  484,  483,  482,  481,  480,  188,  479,  476,
739       475,  474,   97,  473,  472,  471,  470,  469,   97,  468,
740       467,  466,  465,  186,  464,  463,  462,  461,  460,  459,
741       458,  457,  456,  107,  107,  455,  158,  454,  186,  453,
742       452,  451,  450,  449,  448,  188,  440,  439,  438,  437,
743       436,  432,  429,  428,  427,  426,  104,  420,  419,  418,
744       417,  416,  415,  414,  413,  412,  411,  410,  409,  158,
745       104,  408,  407,  406,  405,  404,  104,  403,  402,  401,
746       158,  400,  399,  395,  387,   97,  384,  382,  377,  373,
747       367,  364,  363,  362,  361,  360,  359,  358,  357,  356,
748 
749       355,  354,  188,  188,  350,  349,  348,  347,  346,  345,
750       342,  341,  340,  339,  335,  334,   97,  331,  330,  186,
751       329,  328,  326,  325,  107,  322,  321,  158,  320,  317,
752       316,  314,  313,  275,  312,  158,  107,  311,  308,  307,
753       188,  305,  304,  303,  302,   97,  301,  298,  186,  107,
754       287,  286,  284,  186,  283,  279,  270,  269,  268,  265,
755       264,  263,  259,  104,  258,  257,  104,  104,  104,  254,
756       253,  252,  251,  250,  249,  248,  104,  247,  246,  245,
757       244,  104,   97,  243,  242,  241,  240,   81,   80,  239,
758       169,  116,  104,  115,  114,  111,  105,  104,  104,  100,
759 
760        99,   96,   90,   85,   84,   83,   82,   81,   80,   28,
761        27,   22,   21,  993,    3,  993,  993,  993,  993,  993,
762       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
763       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
764       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
765       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
766       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
767       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
768       993,  993,  993,  993,  993,  993,  993,  993
769     } ;
770 
771 static yyconst short int yy_chk[1389] =
772     {   0,
773         0,    1,    1,    1,    1,    1,    1,    1,    0,    1,
774         0,    1,   12,   12,    1,    1,    1,   13,   24,   24,
775         0,    0,   13,    0,    0,    0,    1,    0,    0,    0,
776         0,    0,    0,    0,    0,    0,    0,    0,    1,    1,
777         1,    1,   46,    0,   62,  184,   31,   33,   62,   46,
778        39,   33,    0,   30,   39,  184,   31,   33,   34,   30,
779        75,   36,   34,   36,   39,   72,   75,   72,    1,    1,
780         1,    1,    1,    2,    2,    2,    2,    2,    2,    2,
781       118,    2,  139,    2,   43,   43,    2,    2,    2,   44,
782        52,  118,   44,   44,   43,   43,  139,  123,    2,   52,
783 
784        52,   52,  123,   52,   68,   52,   52,  163,   68,  163,
785         2,    2,    2,    2,   53,   56,   56,   56,   53,   56,
786        56,   55,   53,   56,   55,   55,  138,   56,   53,   55,
787        57,   53,   55,   57,   53,   55,   57,   60,  138,   55,
788         2,    2,    2,    2,    2,   16,   60,   60,   60,  640,
789        16,  151,   60,   73,   16,   16,   73,   73,  151,   16,
790        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
791        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
792       127,   16,  641,  127,   16,   16,   16,   16,   16,   16,
793        16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
794 
795        16,   16,   16,   16,   16,   16,   16,   16,  124,   16,
796        16,   16,   16,   54,  105,  384,   54,  384,  105,  114,
797        54,   54,  114,  124,   54,  122,   58,   54,   58,  122,
798        58,   54,   58,   54,   59,   59,  143,  114,   59,  143,
799       122,  128,  125,   58,  412,  128,  125,  642,   59,   63,
800       412,   63,   63,   63,   63,   63,   63,   63,   64,  125,
801        63,   63,   63,   63,  132,   64,   64,   65,  132,  154,
802       181,   65,   64,   64,  643,   65,   64,  181,   64,   66,
803       135,   65,  135,  154,   66,  135,  135,   65,   66,   65,
804       189,   66,   67,  140,   66,   66,   67,   66,  140,   67,
805 
806        67,   74,  172,  172,   67,   74,  140,  166,  189,   67,
807        67,   69,   74,   69,   74,   69,   69,   69,   69,   69,
808        70,  166,  141,   69,   70,  182,  339,   70,   70,  644,
809        69,  339,   70,  182,  141,   70,   70,   71,  175,   70,
810        70,  190,   70,  141,   71,   71,  195,  190,  203,  175,
811       195,   71,  203,  212,   71,  222,  219,  190,  203,  217,
812       220,  217,  219,  219,  212,  224,  224,  226,  220,  231,
813       222,  222,  228,  228,  226,  234,  224,  231,  217,  224,
814       269,  224,  232,  231,  235,  232,  235,  269,  330,  234,
815       263,  271,  645,  232,  279,  647,  317,  349,  330,  235,
816 
817       232,  263,  374,  263,  263,  263,  279,  271,  271,  317,
818       279,  279,  279,  279,  279,  344,  349,  353,  380,  441,
819       395,  411,  374,  422,  422,  648,  344,  441,  442,  353,
820       649,  395,  380,  395,  395,  395,  395,  442,  411,  441,
821       442,  475,  486,  535,  442,  492,  492,  475,  508,  486,
822       563,  492,  554,  554,  595,  650,  651,  535,  508,  486,
823       595,  646,  563,  652,  508,  646,  653,  654,  655,  656,
824       657,  658,  659,  660,  661,  662,  656,  663,  664,  665,
825       666,  667,  668,  669,  670,  671,  672,  673,  674,  675,
826       676,  677,  678,  679,  680,  681,  682,  673,  683,  684,
827 
828       685,  686,  687,  688,  689,  690,  691,  692,  693,  694,
829       695,  696,  697,  698,  699,  700,  701,  702,  703,  704,
830       705,  706,  707,  708,  709,  710,  711,  712,  713,  714,
831       715,  716,  717,  718,  719,  720,  721,  722,  723,  724,
832       725,  726,  727,  728,  730,  731,  711,  732,  733,  734,
833       735,  736,  737,  738,  739,  740,  741,  742,  743,  744,
834       745,  746,  747,  748,  749,  750,  751,  752,  753,  754,
835       755,  756,  757,  758,  759,  760,  761,  762,  763,  764,
836       765,  766,  767,  768,  769,  770,  771,  772,  773,  774,
837       775,  776,  777,  778,  779,  780,  781,  782,  783,  784,
838 
839       785,  786,  787,  788,  789,  790,  791,  792,  793,  794,
840       795,  796,  797,  798,  799,  800,  801,  802,  803,  804,
841       805,  806,  807,  808,  809,  810,  811,  812,  813,  814,
842       815,  816,  817,  818,  819,  820,  821,  822,  823,  824,
843       825,  826,  827,  828,  829,  830,  831,  832,  833,  834,
844       835,  837,  838,  839,  840,  841,  842,  843,  844,  845,
845       846,  847,  848,  849,  850,  851,  852,  853,  854,  855,
846       856,  857,  858,  842,  859,  860,  861,  862,  863,  864,
847       865,  866,  867,  868,  869,  870,  871,  872,  873,  874,
848       875,  876,  877,  878,  879,  863,  880,  881,  882,  876,
849 
850       883,  884,  885,  886,  887,  876,  888,  889,  890,  891,
851       892,  893,  894,  895,  896,  897,  898,  899,  900,  901,
852       902,  903,  904,  905,  906,  907,  908,  909,  910,  911,
853       912,  913,  914,  915,  916,  917,  918,  919,  920,  921,
854       922,  923,  924,  925,  926,  927,  928,  929,  930,  931,
855       932,  933,  934,  935,  936,  937,  938,  939,  940,  941,
856       942,  943,  944,  945,  946,  947,  948,  949,  950,  951,
857       952,  953,  954,  938,  955,  956,  941,  957,  958,  959,
858       960,  961,  962,  963,  964,  965,  966,  967,  968,  969,
859       970,  971,  972,  973,  974,  975,  976,  977,  978,  979,
860 
861       980,  981,  982,  983,  967,  984,  985,  986,  987,  988,
862       989,  990,  991,  992,  994,  639,  638,  637,  636,  635,
863       634,  633,  632,  631,  630,  629,  628,  627,  626,  625,
864       624,  623,  622,  621,  620,  619,  618,  617,  616,  615,
865       614,  613,  612,  611,  610,  609,  608,  606,  605,  604,
866       603,  602,  601,  600,  599,  598,  597,  596,  594,  593,
867       592,  590,  589,  588,  587,  586,  585,  584,  583,  582,
868       581,  580,  579,  578,  577,  576,  575,  574,  573,  572,
869       571,  570,  569,  568,  567,  566,  565,  564,  562,  560,
870       559,  558,  557,  556,  555,  553,  552,  551,  550,  549,
871 
872       548,  547,  546,  545,  544,  543,  542,  541,  540,  539,
873       538,  537,  536,  533,  532,  531,  530,  529,  528,  527,
874       526,  525,  524,  523,  522,  521,  520,  519,  518,  517,
875       516,  515,  514,  513,  512,  511,  510,  509,  507,  506,
876       505,  504,  503,  502,  501,  500,  499,  498,  497,  496,
877       495,  494,  493,  491,  490,  489,  488,  487,  485,  484,
878       483,  482,  481,  480,  479,  478,  477,  476,  474,  473,
879       472,  471,  469,  468,  467,  466,  465,  464,  463,  462,
880       461,  460,  459,  458,  457,  456,  455,  454,  453,  452,
881       451,  450,  449,  448,  447,  446,  445,  444,  443,  440,
882 
883       439,  438,  437,  436,  435,  434,  433,  432,  431,  430,
884       429,  428,  427,  426,  425,  424,  423,  421,  420,  419,
885       418,  417,  416,  415,  414,  413,  410,  409,  408,  407,
886       406,  405,  404,  403,  402,  401,  400,  399,  398,  397,
887       396,  394,  393,  392,  391,  390,  389,  388,  387,  386,
888       385,  383,  382,  381,  379,  378,  377,  376,  375,  373,
889       372,  371,  370,  369,  368,  367,  366,  365,  364,  363,
890       362,  361,  360,  359,  358,  357,  356,  355,  354,  352,
891       351,  350,  348,  347,  346,  345,  343,  342,  341,  340,
892       338,  337,  336,  335,  334,  333,  332,  331,  329,  328,
893 
894       327,  326,  325,  324,  323,  322,  321,  320,  318,  316,
895       315,  314,  313,  312,  311,  310,  309,  308,  307,  306,
896       305,  304,  302,  301,  300,  299,  298,  297,  296,  295,
897       294,  293,  292,  291,  290,  289,  288,  287,  286,  285,
898       284,  283,  282,  281,  280,  278,  277,  276,  274,  273,
899       272,  270,  268,  267,  266,  265,  264,  262,  261,  260,
900       259,  258,  257,  256,  255,  254,  253,  252,  251,  250,
901       249,  248,  247,  246,  245,  244,  243,  242,  241,  239,
902       238,  237,  236,  233,  230,  229,  227,  225,  223,  221,
903       218,  216,  215,  214,  213,  211,  210,  209,  208,  207,
904 
905       206,  205,  204,  202,  201,  200,  199,  198,  197,  196,
906       194,  193,  192,  191,  187,  185,  183,  180,  179,  178,
907       177,  176,  174,  173,  171,  170,  169,  168,  167,  165,
908       164,  162,  161,  160,  159,  157,  156,  155,  153,  152,
909       150,  149,  148,  147,  146,  145,  144,  142,  137,  136,
910       134,  133,  131,  130,  129,  126,  121,  120,  119,  117,
911       116,  115,  113,  112,  111,  110,  109,  108,  106,  103,
912       102,  101,  100,   99,   98,   96,   95,   94,   93,   92,
913        91,   90,   89,   88,   87,   86,   85,   81,   80,   76,
914        61,   50,   49,   48,   47,   45,   42,   41,   40,   38,
915 
916        37,   35,   32,   28,   27,   26,   25,   23,   20,   15,
917        14,   11,    7,    3,  993,  993,  993,  993,  993,  993,
918       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
919       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
920       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
921       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
922       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
923       993,  993,  993,  993,  993,  993,  993,  993,  993,  993,
924       993,  993,  993,  993,  993,  993,  993,  993
925     } ;
926 
927 static yy_state_type yy_last_accepting_state;
928 static char *yy_last_accepting_cpos;
929 
930 #define YY_MORE_ADJ 0
931 #define YY_RESTORE_YY_MORE_OFFSET
932 static char *yytext;
933 #define INITIAL 0
934 #include <string.h>
935 #include "nodes.h"
936 
937 #ifdef _WIN32
938 #define strdup _strdup
939 #define fileno _fileno
940 #define isatty _isatty
941 #endif
942 
943 extern "C" {
944 #include "grammar.h"
945 static int yywrap();
946 }
947 
948 #ifdef TOKEN_DEBUG
949 #define token_debug printf
950 #else
951 static int token_debug(const char *format, ...);
952 #endif
953 
954 /* Macros after this point can all be overridden by user definitions in
955  * section 1.
956  */
957 
958 #ifndef YY_NO_UNPUT
959 //static void yyunput YY_PROTO(( int c, char *buf_ptr ));
960 #endif
961 
962 #ifndef yytext_ptr
963 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
964 #endif
965 
966 #ifdef YY_NEED_STRLEN
967 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
968 #endif
969 
970 #if YY_STACK_USED
971 static int yy_start_stack_ptr = 0;
972 static int yy_start_stack_depth = 0;
973 static int *yy_start_stack = 0;
974 #ifndef YY_NO_PUSH_STATE
975 static void yy_push_state YY_PROTO(( int new_state ));
976 #endif
977 #ifndef YY_NO_POP_STATE
978 static void yy_pop_state YY_PROTO(( void ));
979 #endif
980 #ifndef YY_NO_TOP_STATE
981 static int yy_top_state YY_PROTO(( void ));
982 #endif
983 
984 #else
985 #define YY_NO_PUSH_STATE 1
986 #define YY_NO_POP_STATE 1
987 #define YY_NO_TOP_STATE 1
988 #endif
989 
990 #ifdef YY_MALLOC_DECL
991 YY_MALLOC_DECL
992 #else
993 #if !(defined __STDC__ && __STDC__)
994 /* Just try to get by without declaring the routines.  This will fail
995  * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
996  * or sizeof(void*) != sizeof(int).
997  */
998 #endif
999 #endif
1000 
1001 #include "lexer.hxx"
1002 
1003 /* Amount of stuff to slurp up with each read. */
1004 #ifndef YY_READ_BUF_SIZE
1005 #define YY_READ_BUF_SIZE 8192
1006 #endif
1007 
1008 /* Copy whatever the last rule matched to the standard output. */
1009 
1010 #ifndef ECHO
1011 /* This used to be an fputs(), but since the string might contain NUL's,
1012  * we now use fwrite().
1013  */
1014 #define ECHO do { fwrite( yytext, yyleng, 1, yyout ); } while (false)
1015 #endif
1016 
1017 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1018  * is returned in "result".
1019  */
1020 #ifndef YY_INPUT
1021 #define YY_INPUT(buf,result,max_size) \
1022     if ( yy_current_buffer->yy_is_interactive ) \
1023         { \
1024         int c = '*', n; \
1025         for ( n = 0; n < max_size && \
1026                  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1027             buf[n] = static_cast<char>(c); \
1028         if ( c == '\n' ) \
1029             buf[n++] = static_cast<char>(c); \
1030         if ( c == EOF && ferror( yyin ) ) \
1031             YY_FATAL_ERROR( "input in flex scanner failed" ); \
1032         result = n; \
1033         } \
1034     else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1035           && ferror( yyin ) ) \
1036         YY_FATAL_ERROR( "input in flex scanner failed" );
1037 #endif
1038 
1039 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1040  * we don't want an extra ';' after the "return" because that will cause
1041  * some compilers to complain about unreachable statements.
1042  */
1043 #ifndef yyterminate
1044 #define yyterminate() return YY_NULL
1045 #endif
1046 
1047 /* Report a fatal error. */
1048 #ifndef YY_FATAL_ERROR
1049 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1050 #endif
1051 
1052 /* Default declaration of generated scanner - a define so the user can
1053  * easily add parameters.
1054  */
1055 #ifndef YY_DECL
1056 #define YY_DECL int yylex YY_PROTO(( void ))
1057 #endif
1058 
1059 /* Code executed at the beginning of each rule, after yytext and yyleng
1060  * have been set up.
1061  */
1062 #ifndef YY_USER_ACTION
1063 #define YY_USER_ACTION
1064 #endif
1065 
1066 /* Code executed at the end of each rule. */
1067 #ifndef YY_BREAK
1068 #define YY_BREAK break;
1069 #endif
1070 
1071 #define YY_RULE_SETUP \
1072     YY_USER_ACTION
1073 
1074 YY_DECL
1075     {
1076     yy_state_type yy_current_state;
1077     char *yy_cp, *yy_bp;
1078     int yy_act;
1079 
1080     if ( yy_init )
1081         {
1082         yy_init = 0;
1083 
1084 #ifdef YY_USER_INIT
1085         YY_USER_INIT;
1086 #endif
1087 
1088         if ( ! yy_start )
1089             yy_start = 1;   /* first start state */
1090 
1091         if ( ! yyin )
1092             yyin = stdin;
1093 
1094         if ( ! yyout )
1095             yyout = stdout;
1096 
1097         if ( ! yy_current_buffer )
1098             yy_current_buffer =
1099                 yy_create_buffer( yyin, YY_BUF_SIZE );
1100 
1101         yy_load_buffer_state();
1102         }
1103 
1104     while ( true )     /* loops until end-of-file is reached */
1105         {
1106         yy_cp = yy_c_buf_p;
1107 
1108         /* Support of yytext. */
1109         *yy_cp = yy_hold_char;
1110 
1111         /* yy_bp points to the position in yy_ch_buf of the start of
1112          * the current run.
1113          */
1114         yy_bp = yy_cp;
1115 
1116         yy_current_state = yy_start;
1117 yy_match:
1118         do
1119             {
1120             YY_CHAR yy_c = sal::static_int_cast<YY_CHAR>(yy_ec[YY_SC_TO_UI(*yy_cp)]);
1121             if ( yy_accept[yy_current_state] )
1122                 {
1123                 yy_last_accepting_state = yy_current_state;
1124                 yy_last_accepting_cpos = yy_cp;
1125                 }
1126             while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1127                 {
1128                 yy_current_state = static_cast<int>(yy_def[yy_current_state]);
1129                 if ( yy_current_state >= 994 )
1130                     yy_c = sal::static_int_cast<YY_CHAR>(yy_meta[static_cast<unsigned int>(yy_c)]);
1131                 }
1132             yy_current_state = yy_nxt[yy_base[yy_current_state] + static_cast<unsigned int>(yy_c)];
1133             ++yy_cp;
1134             }
1135         while ( yy_base[yy_current_state] != 1315 );
1136 
1137 yy_find_action:
1138         yy_act = yy_accept[yy_current_state];
1139         if ( yy_act == 0 )
1140             { /* have to back up */
1141             yy_cp = yy_last_accepting_cpos;
1142             yy_current_state = yy_last_accepting_state;
1143             yy_act = yy_accept[yy_current_state];
1144             }
1145 
1146         YY_DO_BEFORE_ACTION;
1147 
1148 
1149 do_action:  /* This label is used only to access EOF actions. */
1150 
1151 
1152         switch ( yy_act )
1153     { /* beginning of action switch */
1154             case 0: /* must back up */
1155             /* undo the effects of YY_DO_BEFORE_ACTION */
1156             *yy_cp = yy_hold_char;
1157             yy_cp = yy_last_accepting_cpos;
1158             yy_current_state = yy_last_accepting_state;
1159             goto yy_find_action;
1160 
1161 case 1:
1162 YY_RULE_SETUP
1163 { yylval.str = yytext+1; token_debug("  ==>Begin[%s]\n",yytext+1); return EQBEGIN; }
1164     //YY_BREAK
1165 case 2:
1166 YY_RULE_SETUP
1167 { yylval.str = yytext+1; token_debug("  ==>End[%s]\n",yytext+1); return EQEND; }
1168     //YY_BREAK
1169 case 3:
1170 YY_RULE_SETUP
1171 { yylval.str = yytext+1; token_debug("  ==>Left[%s]\n",yytext+1); return EQLEFT; }
1172     //YY_BREAK
1173 case 4:
1174 YY_RULE_SETUP
1175 { yylval.str = yytext+1; token_debug("  ==>LeftDelim[%s]\n",yytext+1); return LEFT_DELIM; }
1176     //YY_BREAK
1177 case 5:
1178 YY_RULE_SETUP
1179 { yylval.str = yytext+1; token_debug("  ==>RightDelim[%s]\n",yytext+1); return RIGHT_DELIM; }
1180     //YY_BREAK
1181 case 6:
1182 YY_RULE_SETUP
1183 { yylval.str = yytext+1; token_debug("  ==>Right[%s]\n",yytext+1); return EQRIGHT; }
1184     //YY_BREAK
1185 case 7:
1186 YY_RULE_SETUP
1187 { yylval.str = yytext;   token_debug("  ==>NewLine[%s]\n",yytext); return NEWLINE; }
1188     //YY_BREAK
1189 case 8:
1190 YY_RULE_SETUP
1191 { yylval.str = yytext+1; token_debug("  ==>Accent[%s]\n",yytext+1); return ACCENT; }
1192     //YY_BREAK
1193 case 9:
1194 YY_RULE_SETUP
1195 { yylval.str = yytext+1; token_debug("  ==>Small_Greek[%s]\n",yytext+1); return SMALL_GREEK; }
1196     //YY_BREAK
1197 case 10:
1198 YY_RULE_SETUP
1199 { yylval.str = yytext+1; token_debug("  ==>Capital_Greek[%s]\n",yytext+1); return CAPITAL_GREEK; }
1200     //YY_BREAK
1201 case 11:
1202 YY_RULE_SETUP
1203 { yylval.str = yytext+1; token_debug("  ==>Binary_Operator[%s]\n",yytext+1); return BINARY_OPERATOR; }
1204     //YY_BREAK
1205 case 12:
1206 YY_RULE_SETUP
1207 { yylval.str = yytext+1; token_debug("  ==>Relation_Symbol[%s]\n",yytext+1); return RELATION_OPERATOR; }
1208     //YY_BREAK
1209 case 13:
1210 YY_RULE_SETUP
1211 { yylval.str = strdup("neq"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1212     //YY_BREAK
1213 case 14:
1214 YY_RULE_SETUP
1215 { yylval.str = strdup("vmlt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1216     //YY_BREAK
1217 case 15:
1218 YY_RULE_SETUP
1219 { yylval.str = strdup("vmgt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1220     //YY_BREAK
1221 case 16:
1222 YY_RULE_SETUP
1223 { yylval.str = strdup("mlt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1224     //YY_BREAK
1225 case 17:
1226 YY_RULE_SETUP
1227 { yylval.str = strdup("mgt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1228     //YY_BREAK
1229 case 18:
1230 YY_RULE_SETUP
1231 { yylval.str = yytext; token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1232     //YY_BREAK
1233 case 19:
1234 YY_RULE_SETUP
1235 { yylval.str = yytext+1; token_debug("  ==>Arrow[%s]\n",yytext+1); return ARROW; }
1236     //YY_BREAK
1237 case 20:
1238 YY_RULE_SETUP
1239 { yylval.str = strdup("leftrightarrow"); token_debug("  ==>Arrow[leftrightarrow]\n"); return ARROW; }
1240     //YY_BREAK
1241 case 21:
1242 YY_RULE_SETUP
1243 { yylval.str = strdup("rightarrow"); token_debug("  ==>Arrow[rightarrow]\n"); return ARROW; }
1244     //YY_BREAK
1245 case 22:
1246 YY_RULE_SETUP
1247 { yylval.str = strdup("leftarrow"); token_debug("   ==>Arrow[leftarrow]\n"); return ARROW; }
1248     //YY_BREAK
1249 
1250 case 23:
1251 YY_RULE_SETUP
1252 { token_debug(" ==>Ignore[\\rm]\n"); }
1253     //YY_BREAK
1254 [[fallthrough]];
1255 case 24:
1256 YY_RULE_SETUP
1257 { yylval.str = yytext+1; token_debug("  ==>General_Iden[%s]\n",yytext+1); return GENERAL_IDEN; }
1258     //YY_BREAK
1259 case 25:
1260 YY_RULE_SETUP
1261 { yylval.str = yytext+1; token_debug("  ==>General_Oper[%s]\n",yytext+1); return GENERAL_OPER; }
1262     //YY_BREAK
1263 case 26:
1264 YY_RULE_SETUP
1265 { yylval.str = yytext+1; token_debug("  ==>Big_Symbol[%s]\n",yytext+1); return BIG_SYMBOL; }
1266     //YY_BREAK
1267 case 27:
1268 YY_RULE_SETUP
1269 { yylval.str = yytext+1; token_debug("  ==>Function[%s]\n",yytext+1); return FUNCTION; }
1270     //YY_BREAK
1271 case 28:
1272 YY_RULE_SETUP
1273 { yylval.str = yytext+1; token_debug("  ==>Root[%s]\n",yytext+1); return ROOT; }
1274     //YY_BREAK
1275 case 29:
1276 YY_RULE_SETUP
1277 { yylval.str = yytext+1; token_debug("  ==>Fraction[%s]\n",yytext+1); return FRACTION; }
1278     //YY_BREAK
1279 case 30:
1280 YY_RULE_SETUP
1281 { yylval.str = yytext+1; token_debug("  ==>Over[%s]\n",yytext+1); return EQOVER; }
1282     //YY_BREAK
1283 case 31:
1284 YY_RULE_SETUP
1285 { yylval.str = yytext+1; token_debug("  ==>Delimeter[%s]\n",yytext+1); return DELIMETER; }
1286     //YY_BREAK
1287 case 32:
1288 YY_RULE_SETUP
1289 { yylval.str = yytext+1; token_debug("  ==>Large_Delim[%s]\n",yytext+1); return LARGE_DELIM; }
1290     //YY_BREAK
1291 case 33:
1292 YY_RULE_SETUP
1293 { yylval.str = yytext+1; token_debug("  ==>Decoration[%s]\n",yytext+1); return DECORATION; }
1294     //YY_BREAK
1295 case 34:
1296 YY_RULE_SETUP
1297 { yylval.str = yytext+1; token_debug("  ==>Space_Symbol[%s]\n",yytext+1); /*return SPACE_SYMBOL;*/ }
1298     //YY_BREAK
1299 [[fallthrough]];
1300 case 35:
1301 YY_RULE_SETUP
1302 { yylval.str = strdup("quad"); token_debug("    ==>Space_Symbol[quad]\n"); /* return SPACE_SYMBOL;*/ }
1303     //YY_BREAK
1304 [[fallthrough]];
1305 case 36:
1306 YY_RULE_SETUP
1307 { yylval.dval = yytext;  token_debug("  ==>Digit[%s]\n",yytext); return DIGIT; }
1308     //YY_BREAK
1309 case 37:
1310 YY_RULE_SETUP
1311 { yylval.str = yytext;   token_debug("  ==>Operator[%s]\n",yytext); return OPERATOR; }
1312     //YY_BREAK
1313 case 38:
1314 YY_RULE_SETUP
1315 { token_debug(" ==>SubSup[%s]\n",yytext); return yytext[0]; }
1316     //YY_BREAK
1317 case 39:
1318 YY_RULE_SETUP
1319 { token_debug(" ==>Paren[%s]\n",yytext); return yytext[0];}
1320     //YY_BREAK
1321 case 40:
1322 YY_RULE_SETUP
1323 { token_debug(" ==>Abs[%s]\n",yytext); return yytext[0];}
1324     //YY_BREAK
1325 case 41:
1326 YY_RULE_SETUP
1327 { token_debug("   ==>Space[0x%2x]\n",yytext[0]); }
1328     YY_BREAK
1329 case 42:
1330 YY_RULE_SETUP
1331 { token_debug("   ==>Ignore[0x%2x]\n",yytext[0]); }
1332     YY_BREAK
1333 case 43:
1334 YY_RULE_SETUP
1335 { yylval.str = yytext;  token_debug("   ==>String[%s]\n",yytext); return STRING; }
1336     //YY_BREAK
1337 case 44:
1338 YY_RULE_SETUP
1339 { yylval.str = yytext;  token_debug("   ==>Else[%s]\n",yytext); return CHARACTER; }
1340     //YY_BREAK
1341 case 45:
1342 YY_RULE_SETUP
1343 ECHO;
1344     YY_BREAK
1345 case YY_STATE_EOF(INITIAL):
1346     yyterminate();
1347 
1348     case YY_END_OF_BUFFER:
1349         {
1350         /* Amount of text matched not including the EOB char. */
1351         int yy_amount_of_matched_text = static_cast<int>(yy_cp - yytext_ptr) - 1;
1352 
1353         /* Undo the effects of YY_DO_BEFORE_ACTION. */
1354         *yy_cp = yy_hold_char;
1355         YY_RESTORE_YY_MORE_OFFSET
1356 
1357         if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
1358             {
1359             /* We're scanning a new file or input source.  It's
1360              * possible that this happened because the user
1361              * just pointed yyin at a new source and called
1362              * yylex().  If so, then we have to assure
1363              * consistency between yy_current_buffer and our
1364              * globals.  Here is the right place to do so, because
1365              * this is the first action (other than possibly a
1366              * back-up) that will match for the new input source.
1367              */
1368             yy_n_chars = yy_current_buffer->yy_n_chars;
1369             yy_current_buffer->yy_input_file = yyin;
1370             yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
1371             }
1372 
1373         /* Note that here we test for yy_c_buf_p "<=" to the position
1374          * of the first EOB in the buffer, since yy_c_buf_p will
1375          * already have been incremented past the NUL character
1376          * (since all states make transitions on EOB to the
1377          * end-of-buffer state).  Contrast this with the test
1378          * in input().
1379          */
1380         if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
1381             { /* This was really a NUL. */
1382             yy_state_type yy_next_state;
1383 
1384             yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
1385 
1386             yy_current_state = yy_get_previous_state();
1387 
1388             /* Okay, we're now positioned to make the NUL
1389              * transition.  We couldn't have
1390              * yy_get_previous_state() go ahead and do it
1391              * for us because it doesn't know how to deal
1392              * with the possibility of jamming (and we don't
1393              * want to build jamming into it because then it
1394              * will run more slowly).
1395              */
1396 
1397             yy_next_state = yy_try_NUL_trans( yy_current_state );
1398 
1399             yy_bp = yytext_ptr + YY_MORE_ADJ;
1400 
1401             if ( yy_next_state )
1402                 {
1403                 /* Consume the NUL. */
1404                 yy_cp = ++yy_c_buf_p;
1405                 yy_current_state = yy_next_state;
1406                 goto yy_match;
1407                 }
1408 
1409             else
1410                 {
1411                 yy_cp = yy_c_buf_p;
1412                 goto yy_find_action;
1413                 }
1414             }
1415 
1416         else switch ( yy_get_next_buffer() )
1417             {
1418             case EOB_ACT_END_OF_FILE:
1419                 {
1420                 yy_did_buffer_switch_on_eof = 0;
1421 
1422                 if ( yywrap() )
1423                     {
1424                     /* Note: because we've taken care in
1425                      * yy_get_next_buffer() to have set up
1426                      * yytext, we can now set up
1427                      * yy_c_buf_p so that if some total
1428                      * hoser (like flex itself) wants to
1429                      * call the scanner after we return the
1430                      * YY_NULL, it'll still work - another
1431                      * YY_NULL will get returned.
1432                      */
1433                     yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
1434 
1435                     yy_act = YY_STATE_EOF(YY_START);
1436                     goto do_action;
1437                     }
1438 
1439                 else
1440                     {
1441                     if ( ! yy_did_buffer_switch_on_eof )
1442                         YY_NEW_FILE;
1443                     }
1444                 }
1445                 break;
1446 
1447             case EOB_ACT_CONTINUE_SCAN:
1448                 yy_c_buf_p =
1449                     yytext_ptr + yy_amount_of_matched_text;
1450 
1451                 yy_current_state = yy_get_previous_state();
1452 
1453                 yy_cp = yy_c_buf_p;
1454                 yy_bp = yytext_ptr + YY_MORE_ADJ;
1455                 goto yy_match;
1456                 break;
1457 
1458             case EOB_ACT_LAST_MATCH:
1459                 yy_c_buf_p =
1460                 &yy_current_buffer->yy_ch_buf[yy_n_chars];
1461 
1462                 yy_current_state = yy_get_previous_state();
1463 
1464                 yy_cp = yy_c_buf_p;
1465                 yy_bp = yytext_ptr + YY_MORE_ADJ;
1466                 goto yy_find_action;
1467                 break;
1468             }
1469         break;
1470         }
1471 
1472     default:
1473         YY_FATAL_ERROR(
1474             "fatal flex scanner internal error--no action found" );
1475     } /* end of action switch */
1476         } /* end of scanning one token */
1477     } /* end of yylex */
1478 
1479 
1480 /* yy_get_next_buffer - try to read in a new buffer
1481  *
1482  * Returns a code representing an action:
1483  *  EOB_ACT_LAST_MATCH -
1484  *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1485  *  EOB_ACT_END_OF_FILE - end of file
1486  */
1487 
1488 static int yy_get_next_buffer()
1489     {
1490     char *dest = yy_current_buffer->yy_ch_buf;
1491     char *source = yytext_ptr;
1492     int number_to_move, i;
1493     int ret_val;
1494 
1495     if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
1496         YY_FATAL_ERROR(
1497         "fatal flex scanner internal error--end of buffer missed" );
1498 
1499     if ( yy_current_buffer->yy_fill_buffer == 0 )
1500         { /* Don't try to fill the buffer, so this is an EOF. */
1501         if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
1502             {
1503             /* We matched a single character, the EOB, so
1504              * treat this as a final EOF.
1505              */
1506             return EOB_ACT_END_OF_FILE;
1507             }
1508 
1509         else
1510             {
1511             /* We matched some text prior to the EOB, first
1512              * process it.
1513              */
1514             return EOB_ACT_LAST_MATCH;
1515             }
1516         }
1517 
1518     /* Try to read more data. */
1519 
1520     /* First move last chars to start of buffer. */
1521     number_to_move = static_cast<int>(yy_c_buf_p - yytext_ptr) - 1;
1522 
1523     for ( i = 0; i < number_to_move; ++i )
1524         *(dest++) = *(source++);
1525 
1526     if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1527         /* don't do the read, it's not guaranteed to return an EOF,
1528          * just force an EOF
1529          */
1530         yy_current_buffer->yy_n_chars = yy_n_chars = 0;
1531 
1532     else
1533         {
1534         int num_to_read =
1535             yy_current_buffer->yy_buf_size - number_to_move - 1;
1536 
1537         while ( num_to_read <= 0 )
1538             { /* Not enough room in the buffer - grow it. */
1539 #ifdef YY_USES_REJECT
1540             YY_FATAL_ERROR(
1541 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1542 #else
1543 
1544             /* just a shorter name for the current buffer */
1545             YY_BUFFER_STATE b = yy_current_buffer;
1546 
1547             int yy_c_buf_p_offset =
1548                 static_cast<int>(yy_c_buf_p - b->yy_ch_buf);
1549 
1550             if ( b->yy_is_our_buffer )
1551                 {
1552                 int new_size = b->yy_buf_size * 2;
1553 
1554                 if ( new_size <= 0 )
1555                     b->yy_buf_size += b->yy_buf_size / 8;
1556                 else
1557                     b->yy_buf_size *= 2;
1558 
1559                 b->yy_ch_buf = static_cast<char *>(
1560                     /* Include room in for 2 EOB chars. */
1561                     yy_flex_realloc( static_cast<void *>(b->yy_ch_buf),
1562                              b->yy_buf_size + 2 ));
1563                 }
1564             else
1565                 /* Can't grow it, we don't own it. */
1566                 b->yy_ch_buf = nullptr;
1567 
1568             if ( ! b->yy_ch_buf )
1569                 YY_FATAL_ERROR(
1570                 "fatal error - scanner input buffer overflow" );
1571 
1572             yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
1573 
1574             num_to_read = yy_current_buffer->yy_buf_size -
1575                         number_to_move - 1;
1576 #endif
1577             }
1578 
1579         if ( num_to_read > YY_READ_BUF_SIZE )
1580             num_to_read = YY_READ_BUF_SIZE;
1581 
1582         /* Read in more data. */
1583         YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
1584             yy_n_chars, num_to_read );
1585 
1586         yy_current_buffer->yy_n_chars = yy_n_chars;
1587         }
1588 
1589     if ( yy_n_chars == 0 )
1590         {
1591         if ( number_to_move == YY_MORE_ADJ )
1592             {
1593             ret_val = EOB_ACT_END_OF_FILE;
1594             yyrestart( yyin );
1595             }
1596 
1597         else
1598             {
1599             ret_val = EOB_ACT_LAST_MATCH;
1600             yy_current_buffer->yy_buffer_status =
1601                 YY_BUFFER_EOF_PENDING;
1602             }
1603         }
1604 
1605     else
1606         ret_val = EOB_ACT_CONTINUE_SCAN;
1607 
1608     yy_n_chars += number_to_move;
1609     yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
1610     yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
1611 
1612     yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
1613 
1614     return ret_val;
1615     }
1616 
1617 
1618 /* yy_get_previous_state - get the state just before the EOB char was reached */
1619 
yy_get_previous_state()1620 static yy_state_type yy_get_previous_state()
1621     {
1622     yy_state_type yy_current_state;
1623     char *yy_cp;
1624 
1625     yy_current_state = yy_start;
1626 
1627     for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
1628         {
1629         YY_CHAR yy_c = sal::static_int_cast<YY_CHAR>(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1630         if ( yy_accept[yy_current_state] )
1631             {
1632             yy_last_accepting_state = yy_current_state;
1633             yy_last_accepting_cpos = yy_cp;
1634             }
1635         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1636             {
1637             yy_current_state = static_cast<int>(yy_def[yy_current_state]);
1638             if ( yy_current_state >= 994 )
1639                 yy_c = sal::static_int_cast<YY_CHAR>(yy_meta[static_cast<unsigned int>(yy_c)]);
1640             }
1641         yy_current_state = yy_nxt[yy_base[yy_current_state] + static_cast<unsigned int>(yy_c)];
1642         }
1643 
1644     return yy_current_state;
1645     }
1646 
1647 
1648 /* yy_try_NUL_trans - try to make a transition on the NUL character
1649  *
1650  * synopsis
1651  *  next_state = yy_try_NUL_trans( current_state );
1652  */
1653 
1654 #ifdef YY_USE_PROTOS
yy_try_NUL_trans(yy_state_type yy_current_state)1655 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
1656 #else
1657 static yy_state_type yy_try_NUL_trans( yy_current_state )
1658 yy_state_type yy_current_state;
1659 #endif
1660     {
1661     bool yy_is_jam;
1662     char *yy_cp = yy_c_buf_p;
1663 
1664     YY_CHAR yy_c = 1;
1665     if ( yy_accept[yy_current_state] )
1666         {
1667         yy_last_accepting_state = yy_current_state;
1668         yy_last_accepting_cpos = yy_cp;
1669         }
1670     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1671         {
1672         yy_current_state = static_cast<int>(yy_def[yy_current_state]);
1673         if ( yy_current_state >= 994 )
1674             yy_c = sal::static_int_cast<YY_CHAR>(yy_meta[static_cast<unsigned int>(yy_c)]);
1675         }
1676     yy_current_state = yy_nxt[yy_base[yy_current_state] + static_cast<unsigned int>(yy_c)];
1677     yy_is_jam = (yy_current_state == 993);
1678 
1679     return yy_is_jam ? 0 : yy_current_state;
1680     }
1681 
1682 #ifdef YY_USE_PROTOS
yyrestart(FILE * input_file)1683 void yyrestart( FILE *input_file )
1684 #else
1685 void yyrestart( input_file )
1686 FILE *input_file;
1687 #endif
1688     {
1689     if ( ! yy_current_buffer )
1690         yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
1691 
1692     yy_init_buffer( yy_current_buffer, input_file );
1693     yy_load_buffer_state();
1694     }
1695 
1696 
1697 #ifdef YY_USE_PROTOS
yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)1698 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
1699 #else
1700 void yy_switch_to_buffer( new_buffer )
1701 YY_BUFFER_STATE new_buffer;
1702 #endif
1703     {
1704     if ( yy_current_buffer == new_buffer )
1705         return;
1706 
1707     if ( yy_current_buffer )
1708         {
1709         /* Flush out information for old buffer. */
1710         *yy_c_buf_p = yy_hold_char;
1711         yy_current_buffer->yy_buf_pos = yy_c_buf_p;
1712         yy_current_buffer->yy_n_chars = yy_n_chars;
1713         }
1714 
1715     yy_current_buffer = new_buffer;
1716     yy_load_buffer_state();
1717 
1718     /* We don't actually know whether we did this switch during
1719      * EOF (yywrap()) processing, but the only time this flag
1720      * is looked at is after yywrap() is called, so it's safe
1721      * to go ahead and always set it.
1722      */
1723     yy_did_buffer_switch_on_eof = 1;
1724     }
1725 
1726 
1727 #ifdef YY_USE_PROTOS
yy_load_buffer_state()1728 void yy_load_buffer_state()
1729 #else
1730 void yy_load_buffer_state()
1731 #endif
1732     {
1733     yy_n_chars = yy_current_buffer->yy_n_chars;
1734     yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
1735     yyin = yy_current_buffer->yy_input_file;
1736     yy_hold_char = *yy_c_buf_p;
1737     }
1738 
1739 
1740 #ifdef YY_USE_PROTOS
yy_create_buffer(FILE * file,int size)1741 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
1742 #else
1743 YY_BUFFER_STATE yy_create_buffer( file, size )
1744 FILE *file;
1745 int size;
1746 #endif
1747     {
1748     YY_BUFFER_STATE b;
1749 
1750     b = static_cast<YY_BUFFER_STATE>(yy_flex_alloc( sizeof( struct yy_buffer_state ) ));
1751     if ( ! b )
1752         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1753 
1754     b->yy_buf_size = size;
1755 
1756     /* yy_ch_buf has to be 2 characters longer than the size given because
1757      * we need to put in 2 end-of-buffer characters.
1758      */
1759     b->yy_ch_buf = static_cast<char *>(yy_flex_alloc( b->yy_buf_size + 2 ));
1760     if ( ! b->yy_ch_buf )
1761         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1762 
1763     b->yy_is_our_buffer = 1;
1764 
1765     yy_init_buffer( b, file );
1766 
1767     return b;
1768     }
1769 
1770 
1771 #ifdef YY_USE_PROTOS
yy_delete_buffer(YY_BUFFER_STATE b)1772 void yy_delete_buffer( YY_BUFFER_STATE b )
1773 #else
1774 void yy_delete_buffer( b )
1775 YY_BUFFER_STATE b;
1776 #endif
1777     {
1778     if ( ! b )
1779         return;
1780 
1781     if ( b == yy_current_buffer )
1782         yy_current_buffer = nullptr;
1783 
1784     if ( b->yy_is_our_buffer )
1785         yy_flex_free( static_cast<void *>(b->yy_ch_buf) );
1786 
1787     yy_flex_free( static_cast<void *>(b) );
1788     }
1789 
1790 
1791 #ifndef YY_ALWAYS_INTERACTIVE
1792 #ifndef YY_NEVER_INTERACTIVE
1793 extern int isatty YY_PROTO(( int ));
1794 #endif
1795 #endif
1796 
1797 #ifdef YY_USE_PROTOS
yy_init_buffer(YY_BUFFER_STATE b,FILE * file)1798 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
1799 #else
1800 void yy_init_buffer( b, file )
1801 YY_BUFFER_STATE b;
1802 FILE *file;
1803 #endif
1804 
1805 
1806     {
1807     yy_flush_buffer( b );
1808 
1809     b->yy_input_file = file;
1810     b->yy_fill_buffer = 1;
1811 
1812 #if YY_ALWAYS_INTERACTIVE
1813     b->yy_is_interactive = true;
1814 #else
1815 #if YY_NEVER_INTERACTIVE
1816     b->yy_is_interactive = false;
1817 #else
1818     b->yy_is_interactive = file && isatty( fileno(file) ) > 0;
1819 #endif
1820 #endif
1821     }
1822 
1823 
1824 #ifdef YY_USE_PROTOS
yy_flush_buffer(YY_BUFFER_STATE b)1825 void yy_flush_buffer( YY_BUFFER_STATE b )
1826 #else
1827 void yy_flush_buffer( b )
1828 YY_BUFFER_STATE b;
1829 #endif
1830 
1831     {
1832     if ( ! b )
1833         return;
1834 
1835     b->yy_n_chars = 0;
1836 
1837     /* We always need two end-of-buffer characters.  The first causes
1838      * a transition to the end-of-buffer state.  The second causes
1839      * a jam in that state.
1840      */
1841     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1842     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1843 
1844     b->yy_buf_pos = &b->yy_ch_buf[0];
1845 
1846     b->yy_at_bol = 1;
1847     b->yy_buffer_status = YY_BUFFER_NEW;
1848 
1849     if ( b == yy_current_buffer )
1850         yy_load_buffer_state();
1851     }
1852 
1853 
1854 #ifndef YY_NO_SCAN_BUFFER
1855 #ifdef YY_USE_PROTOS
yy_scan_buffer(char * base,yy_size_t size)1856 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
1857 #else
1858 YY_BUFFER_STATE yy_scan_buffer( base, size )
1859 char *base;
1860 yy_size_t size;
1861 #endif
1862     {
1863     YY_BUFFER_STATE b;
1864 
1865     if ( size < 2 ||
1866          base[size-2] != YY_END_OF_BUFFER_CHAR ||
1867          base[size-1] != YY_END_OF_BUFFER_CHAR )
1868         /* They forgot to leave room for the EOB's. */
1869         return nullptr;
1870 
1871     b = static_cast<YY_BUFFER_STATE>(yy_flex_alloc( sizeof( struct yy_buffer_state ) ));
1872     if ( ! b )
1873         YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1874 
1875     b->yy_buf_size = size - 2;  /* "- 2" to take care of EOB's */
1876     b->yy_buf_pos = b->yy_ch_buf = base;
1877     b->yy_is_our_buffer = 0;
1878     b->yy_input_file = nullptr;
1879     b->yy_n_chars = b->yy_buf_size;
1880     b->yy_is_interactive = false;
1881     b->yy_at_bol = 1;
1882     b->yy_fill_buffer = 0;
1883     b->yy_buffer_status = YY_BUFFER_NEW;
1884 
1885     yy_switch_to_buffer( b );
1886 
1887     return b;
1888     }
1889 #endif
1890 
1891 
1892 #ifndef YY_NO_SCAN_STRING
1893 #ifdef YY_USE_PROTOS
yy_scan_string(yyconst char * yy_str)1894 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
1895 #else
1896 YY_BUFFER_STATE yy_scan_string( yy_str )
1897 yyconst char *yy_str;
1898 #endif
1899     {
1900     int len;
1901     for ( len = 0; yy_str[len]; ++len )
1902         ;
1903 
1904     return yy_scan_bytes( yy_str, len );
1905     }
1906 #endif
1907 
1908 
1909 #ifndef YY_NO_SCAN_BYTES
1910 #ifdef YY_USE_PROTOS
yy_scan_bytes(yyconst char * bytes,int len)1911 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
1912 #else
1913 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
1914 yyconst char *bytes;
1915 int len;
1916 #endif
1917     {
1918     YY_BUFFER_STATE b;
1919     char *buf;
1920     yy_size_t n;
1921     int i;
1922 
1923     /* Get memory for full buffer, including space for trailing EOB's. */
1924     n = len + 2;
1925     buf = static_cast<char *>(yy_flex_alloc( n ));
1926     if ( ! buf )
1927         YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1928 
1929     for ( i = 0; i < len; ++i )
1930         buf[i] = bytes[i];
1931 
1932     buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
1933 
1934     b = yy_scan_buffer( buf, n );
1935     if ( ! b )
1936         YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1937 
1938     /* It's okay to grow etc. this buffer, and we should throw it
1939      * away when we're done.
1940      */
1941     b->yy_is_our_buffer = 1;
1942 
1943     return b;
1944     }
1945 #endif
1946 
1947 
1948 #ifndef YY_NO_PUSH_STATE
1949 #ifdef YY_USE_PROTOS
yy_push_state(int new_state)1950 static void yy_push_state( int new_state )
1951 #else
1952 static void yy_push_state( new_state )
1953 int new_state;
1954 #endif
1955     {
1956     if ( yy_start_stack_ptr >= yy_start_stack_depth )
1957         {
1958         yy_size_t new_size;
1959 
1960         yy_start_stack_depth += YY_START_STACK_INCR;
1961         new_size = yy_start_stack_depth * sizeof( int );
1962 
1963         if ( ! yy_start_stack )
1964             yy_start_stack = (int *) yy_flex_alloc( new_size );
1965 
1966         else
1967             yy_start_stack = (int *) yy_flex_realloc(
1968                     (void *) yy_start_stack, new_size );
1969 
1970         if ( ! yy_start_stack )
1971             YY_FATAL_ERROR(
1972             "out of memory expanding start-condition stack" );
1973         }
1974 
1975     yy_start_stack[yy_start_stack_ptr++] = YY_START;
1976 
1977     BEGIN(new_state);
1978     }
1979 #endif
1980 
1981 
1982 #ifndef YY_NO_POP_STATE
yy_pop_state()1983 static void yy_pop_state()
1984     {
1985     if ( --yy_start_stack_ptr < 0 )
1986         YY_FATAL_ERROR( "start-condition stack underflow" );
1987 
1988     BEGIN(yy_start_stack[yy_start_stack_ptr]);
1989     }
1990 #endif
1991 
1992 
1993 #ifndef YY_NO_TOP_STATE
yy_top_state()1994 static int yy_top_state()
1995     {
1996     return yy_start_stack[yy_start_stack_ptr - 1];
1997     }
1998 #endif
1999 
2000 #ifndef YY_EXIT_FAILURE
2001 #define YY_EXIT_FAILURE 2
2002 #endif
2003 
2004 #ifdef YY_USE_PROTOS
yy_fatal_error(yyconst char msg[])2005 static void yy_fatal_error( yyconst char msg[] )
2006 #else
2007 static void yy_fatal_error( msg )
2008 char msg[];
2009 #endif
2010     {
2011     (void) fprintf( stderr, "%s\n", msg );
2012     exit( YY_EXIT_FAILURE );
2013     }
2014 
2015 
2016 /* Internal utility routines. */
2017 
2018 #ifndef yytext_ptr
2019 #ifdef YY_USE_PROTOS
yy_flex_strncpy(char * s1,yyconst char * s2,int n)2020 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2021 #else
2022 static void yy_flex_strncpy( s1, s2, n )
2023 char *s1;
2024 yyconst char *s2;
2025 int n;
2026 #endif
2027     {
2028     int i;
2029     for ( i = 0; i < n; ++i )
2030         s1[i] = s2[i];
2031     }
2032 #endif
2033 
2034 #ifdef YY_NEED_STRLEN
2035 #ifdef YY_USE_PROTOS
yy_flex_strlen(yyconst char * s)2036 static int yy_flex_strlen( yyconst char *s )
2037 #else
2038 static int yy_flex_strlen( s )
2039 yyconst char *s;
2040 #endif
2041     {
2042     int n;
2043     for ( n = 0; s[n]; ++n )
2044         ;
2045 
2046     return n;
2047     }
2048 #endif
2049 
2050 
2051 #ifdef YY_USE_PROTOS
yy_flex_alloc(yy_size_t size)2052 static void *yy_flex_alloc( yy_size_t size )
2053 #else
2054 static void *yy_flex_alloc( size )
2055 yy_size_t size;
2056 #endif
2057     {
2058     return malloc( size );
2059     }
2060 
2061 #ifdef YY_USE_PROTOS
yy_flex_realloc(void * ptr,yy_size_t size)2062 static void *yy_flex_realloc( void *ptr, yy_size_t size )
2063 #else
2064 static void *yy_flex_realloc( ptr, size )
2065 void *ptr;
2066 yy_size_t size;
2067 #endif
2068     {
2069     /* The cast to (char *) in the following accommodates both
2070      * implementations that use char* generic pointers, and those
2071      * that use void* generic pointers.  It works with the latter
2072      * because both ANSI C and C++ allow castless assignment from
2073      * any pointer type to void*, and deal with argument conversions
2074      * as though doing an assignment.
2075      */
2076     return realloc( ptr, size );
2077     }
2078 
2079 #ifdef YY_USE_PROTOS
yy_flex_free(void * ptr)2080 static void yy_flex_free( void *ptr )
2081 #else
2082 static void yy_flex_free( ptr )
2083 void *ptr;
2084 #endif
2085     {
2086     free( ptr );
2087     }
2088 
2089 #if YY_MAIN
main()2090 int main()
2091     {
2092     yylex();
2093     return 0;
2094     }
2095 #endif
2096 
2097 
initFlex(const char * _code)2098 void initFlex(const char *_code )
2099 {
2100     yy_switch_to_buffer( yy_scan_string(_code) );
2101 }
2102 
yywrap()2103 int yywrap()
2104 {
2105     yy_delete_buffer( YY_CURRENT_BUFFER );
2106     return 1;
2107 }
2108 
2109 #ifndef TOKEN_DEBUG
token_debug(const char *,...)2110 int token_debug(const char * /*format*/, ...)
2111 {
2112    return 0;
2113 }
2114 #endif
2115 
2116 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
2117