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