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 = (char *) 0;
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 = (FILE *) 0, *yyout = (FILE *) 0;
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_SKIP_YYWRAP
992 : #ifdef __cplusplus
993 : extern "C" int yywrap YY_PROTO(( void ));
994 : #else
995 : extern int yywrap YY_PROTO(( void ));
996 : #endif
997 : #endif
998 :
999 : #ifndef YY_NO_UNPUT
1000 : //static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1001 : #endif
1002 :
1003 : #ifndef yytext_ptr
1004 : static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1005 : #endif
1006 :
1007 : #ifdef YY_NEED_STRLEN
1008 : static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1009 : #endif
1010 :
1011 : #if YY_STACK_USED
1012 : static int yy_start_stack_ptr = 0;
1013 : static int yy_start_stack_depth = 0;
1014 : static int *yy_start_stack = 0;
1015 : #ifndef YY_NO_PUSH_STATE
1016 : static void yy_push_state YY_PROTO(( int new_state ));
1017 : #endif
1018 : #ifndef YY_NO_POP_STATE
1019 : static void yy_pop_state YY_PROTO(( void ));
1020 : #endif
1021 : #ifndef YY_NO_TOP_STATE
1022 : static int yy_top_state YY_PROTO(( void ));
1023 : #endif
1024 :
1025 : #else
1026 : #define YY_NO_PUSH_STATE 1
1027 : #define YY_NO_POP_STATE 1
1028 : #define YY_NO_TOP_STATE 1
1029 : #endif
1030 :
1031 : #ifdef YY_MALLOC_DECL
1032 : YY_MALLOC_DECL
1033 : #else
1034 : #if __STDC__
1035 : #ifndef __cplusplus
1036 : #include <stdlib.h>
1037 : #endif
1038 : #else
1039 : /* Just try to get by without declaring the routines. This will fail
1040 : * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1041 : * or sizeof(void*) != sizeof(int).
1042 : */
1043 : #endif
1044 : #endif
1045 :
1046 : /* Amount of stuff to slurp up with each read. */
1047 : #ifndef YY_READ_BUF_SIZE
1048 : #define YY_READ_BUF_SIZE 8192
1049 : #endif
1050 :
1051 : /* Copy whatever the last rule matched to the standard output. */
1052 :
1053 : #ifndef ECHO
1054 : /* This used to be an fputs(), but since the string might contain NUL's,
1055 : * we now use fwrite().
1056 : */
1057 : #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (false)
1058 : #endif
1059 :
1060 : /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1061 : * is returned in "result".
1062 : */
1063 : #ifndef YY_INPUT
1064 : #define YY_INPUT(buf,result,max_size) \
1065 : if ( yy_current_buffer->yy_is_interactive ) \
1066 : { \
1067 : int c = '*', n; \
1068 : for ( n = 0; n < max_size && \
1069 : (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1070 : buf[n] = (char) c; \
1071 : if ( c == '\n' ) \
1072 : buf[n++] = (char) c; \
1073 : if ( c == EOF && ferror( yyin ) ) \
1074 : YY_FATAL_ERROR( "input in flex scanner failed" ); \
1075 : result = n; \
1076 : } \
1077 : else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1078 : && ferror( yyin ) ) \
1079 : YY_FATAL_ERROR( "input in flex scanner failed" );
1080 : #endif
1081 :
1082 : /* No semi-colon after return; correct usage is to write "yyterminate();" -
1083 : * we don't want an extra ';' after the "return" because that will cause
1084 : * some compilers to complain about unreachable statements.
1085 : */
1086 : #ifndef yyterminate
1087 : #define yyterminate() return YY_NULL
1088 : #endif
1089 :
1090 : /* Report a fatal error. */
1091 : #ifndef YY_FATAL_ERROR
1092 : #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1093 : #endif
1094 :
1095 : /* Default declaration of generated scanner - a define so the user can
1096 : * easily add parameters.
1097 : */
1098 : #ifndef YY_DECL
1099 : #define YY_DECL int yylex YY_PROTO(( void ))
1100 : #endif
1101 :
1102 : /* Code executed at the beginning of each rule, after yytext and yyleng
1103 : * have been set up.
1104 : */
1105 : #ifndef YY_USER_ACTION
1106 : #define YY_USER_ACTION
1107 : #endif
1108 :
1109 : /* Code executed at the end of each rule. */
1110 : #ifndef YY_BREAK
1111 : #define YY_BREAK break;
1112 : #endif
1113 :
1114 : #define YY_RULE_SETUP \
1115 : YY_USER_ACTION
1116 :
1117 0 : YY_DECL
1118 : {
1119 : yy_state_type yy_current_state;
1120 : char *yy_cp, *yy_bp;
1121 : int yy_act;
1122 :
1123 0 : if ( yy_init )
1124 : {
1125 0 : yy_init = 0;
1126 :
1127 : #ifdef YY_USER_INIT
1128 : YY_USER_INIT;
1129 : #endif
1130 :
1131 0 : if ( ! yy_start )
1132 0 : yy_start = 1; /* first start state */
1133 :
1134 0 : if ( ! yyin )
1135 0 : yyin = stdin;
1136 :
1137 0 : if ( ! yyout )
1138 0 : yyout = stdout;
1139 :
1140 0 : if ( ! yy_current_buffer )
1141 : yy_current_buffer =
1142 0 : yy_create_buffer( yyin, YY_BUF_SIZE );
1143 :
1144 0 : yy_load_buffer_state();
1145 : }
1146 :
1147 : while ( true ) /* loops until end-of-file is reached */
1148 : {
1149 0 : yy_cp = yy_c_buf_p;
1150 :
1151 : /* Support of yytext. */
1152 0 : *yy_cp = yy_hold_char;
1153 :
1154 : /* yy_bp points to the position in yy_ch_buf of the start of
1155 : * the current run.
1156 : */
1157 0 : yy_bp = yy_cp;
1158 :
1159 0 : yy_current_state = yy_start;
1160 : yy_match:
1161 0 : do
1162 : {
1163 0 : YY_CHAR yy_c = sal::static_int_cast<YY_CHAR>(yy_ec[YY_SC_TO_UI(*yy_cp)]);
1164 0 : if ( yy_accept[yy_current_state] )
1165 : {
1166 0 : yy_last_accepting_state = yy_current_state;
1167 0 : yy_last_accepting_cpos = yy_cp;
1168 : }
1169 0 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1170 : {
1171 0 : yy_current_state = (int) yy_def[yy_current_state];
1172 0 : if ( yy_current_state >= 994 )
1173 0 : yy_c = sal::static_int_cast<YY_CHAR>(yy_meta[(unsigned int) yy_c]);
1174 : }
1175 0 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1176 0 : ++yy_cp;
1177 : }
1178 0 : while ( yy_base[yy_current_state] != 1315 );
1179 :
1180 : yy_find_action:
1181 0 : yy_act = yy_accept[yy_current_state];
1182 0 : if ( yy_act == 0 )
1183 : { /* have to back up */
1184 0 : yy_cp = yy_last_accepting_cpos;
1185 0 : yy_current_state = yy_last_accepting_state;
1186 0 : yy_act = yy_accept[yy_current_state];
1187 : }
1188 :
1189 0 : YY_DO_BEFORE_ACTION;
1190 :
1191 :
1192 : do_action: /* This label is used only to access EOF actions. */
1193 :
1194 :
1195 0 : switch ( yy_act )
1196 : { /* beginning of action switch */
1197 : case 0: /* must back up */
1198 : /* undo the effects of YY_DO_BEFORE_ACTION */
1199 0 : *yy_cp = yy_hold_char;
1200 0 : yy_cp = yy_last_accepting_cpos;
1201 0 : yy_current_state = yy_last_accepting_state;
1202 0 : goto yy_find_action;
1203 :
1204 : case 1:
1205 : YY_RULE_SETUP
1206 0 : { yylval.str = yytext+1; token_debug(" ==>Begin[%s]\n",yytext+1); return EQBEGIN; }
1207 : //YY_BREAK
1208 : case 2:
1209 : YY_RULE_SETUP
1210 0 : { yylval.str = yytext+1; token_debug(" ==>End[%s]\n",yytext+1); return EQEND; }
1211 : //YY_BREAK
1212 : case 3:
1213 : YY_RULE_SETUP
1214 0 : { yylval.str = yytext+1; token_debug(" ==>Left[%s]\n",yytext+1); return EQLEFT; }
1215 : //YY_BREAK
1216 : case 4:
1217 : YY_RULE_SETUP
1218 0 : { yylval.str = yytext+1; token_debug(" ==>LeftDelim[%s]\n",yytext+1); return LEFT_DELIM; }
1219 : //YY_BREAK
1220 : case 5:
1221 : YY_RULE_SETUP
1222 0 : { yylval.str = yytext+1; token_debug(" ==>RightDelim[%s]\n",yytext+1); return RIGHT_DELIM; }
1223 : //YY_BREAK
1224 : case 6:
1225 : YY_RULE_SETUP
1226 0 : { yylval.str = yytext+1; token_debug(" ==>Right[%s]\n",yytext+1); return EQRIGHT; }
1227 : //YY_BREAK
1228 : case 7:
1229 : YY_RULE_SETUP
1230 0 : { yylval.str = yytext; token_debug(" ==>NewLine[%s]\n",yytext); return NEWLINE; }
1231 : //YY_BREAK
1232 : case 8:
1233 : YY_RULE_SETUP
1234 0 : { yylval.str = yytext+1; token_debug(" ==>Accent[%s]\n",yytext+1); return ACCENT; }
1235 : //YY_BREAK
1236 : case 9:
1237 : YY_RULE_SETUP
1238 0 : { yylval.str = yytext+1; token_debug(" ==>Small_Greek[%s]\n",yytext+1); return SMALL_GREEK; }
1239 : //YY_BREAK
1240 : case 10:
1241 : YY_RULE_SETUP
1242 0 : { yylval.str = yytext+1; token_debug(" ==>Capital_Greek[%s]\n",yytext+1); return CAPITAL_GREEK; }
1243 : //YY_BREAK
1244 : case 11:
1245 : YY_RULE_SETUP
1246 0 : { yylval.str = yytext+1; token_debug(" ==>Binary_Operator[%s]\n",yytext+1); return BINARY_OPERATOR; }
1247 : //YY_BREAK
1248 : case 12:
1249 : YY_RULE_SETUP
1250 0 : { yylval.str = yytext+1; token_debug(" ==>Relation_Symbol[%s]\n",yytext+1); return RELATION_OPERATOR; }
1251 : //YY_BREAK
1252 : case 13:
1253 : YY_RULE_SETUP
1254 0 : { yylval.str = strdup("neq"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1255 : //YY_BREAK
1256 : case 14:
1257 : YY_RULE_SETUP
1258 0 : { yylval.str = strdup("vmlt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1259 : //YY_BREAK
1260 : case 15:
1261 : YY_RULE_SETUP
1262 0 : { yylval.str = strdup("vmgt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1263 : //YY_BREAK
1264 : case 16:
1265 : YY_RULE_SETUP
1266 0 : { yylval.str = strdup("mlt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1267 : //YY_BREAK
1268 : case 17:
1269 : YY_RULE_SETUP
1270 0 : { yylval.str = strdup("mgt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1271 : //YY_BREAK
1272 : case 18:
1273 : YY_RULE_SETUP
1274 0 : { yylval.str = yytext; token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR; }
1275 : //YY_BREAK
1276 : case 19:
1277 : YY_RULE_SETUP
1278 0 : { yylval.str = yytext+1; token_debug(" ==>Arrow[%s]\n",yytext+1); return ARROW; }
1279 : //YY_BREAK
1280 : case 20:
1281 : YY_RULE_SETUP
1282 0 : { yylval.str = strdup("leftrightarrow"); token_debug(" ==>Arrow[leftrightarrow]\n"); return ARROW; }
1283 : //YY_BREAK
1284 : case 21:
1285 : YY_RULE_SETUP
1286 0 : { yylval.str = strdup("rightarrow"); token_debug(" ==>Arrow[rightarrow]\n"); return ARROW; }
1287 : //YY_BREAK
1288 : case 22:
1289 : YY_RULE_SETUP
1290 0 : { yylval.str = strdup("leftarrow"); token_debug(" ==>Arrow[leftarrow]\n"); return ARROW; }
1291 : //YY_BREAK
1292 :
1293 : case 23:
1294 : YY_RULE_SETUP
1295 0 : { token_debug(" ==>Ignore[\\rm]\n"); }
1296 : //YY_BREAK
1297 : case 24:
1298 : YY_RULE_SETUP
1299 0 : { yylval.str = yytext+1; token_debug(" ==>General_Iden[%s]\n",yytext+1); return GENERAL_IDEN; }
1300 : //YY_BREAK
1301 : case 25:
1302 : YY_RULE_SETUP
1303 0 : { yylval.str = yytext+1; token_debug(" ==>General_Oper[%s]\n",yytext+1); return GENERAL_OPER; }
1304 : //YY_BREAK
1305 : case 26:
1306 : YY_RULE_SETUP
1307 0 : { yylval.str = yytext+1; token_debug(" ==>Big_Symbol[%s]\n",yytext+1); return BIG_SYMBOL; }
1308 : //YY_BREAK
1309 : case 27:
1310 : YY_RULE_SETUP
1311 0 : { yylval.str = yytext+1; token_debug(" ==>Function[%s]\n",yytext+1); return FUNCTION; }
1312 : //YY_BREAK
1313 : case 28:
1314 : YY_RULE_SETUP
1315 0 : { yylval.str = yytext+1; token_debug(" ==>Root[%s]\n",yytext+1); return ROOT; }
1316 : //YY_BREAK
1317 : case 29:
1318 : YY_RULE_SETUP
1319 0 : { yylval.str = yytext+1; token_debug(" ==>Fraction[%s]\n",yytext+1); return FRACTION; }
1320 : //YY_BREAK
1321 : case 30:
1322 : YY_RULE_SETUP
1323 0 : { yylval.str = yytext+1; token_debug(" ==>Over[%s]\n",yytext+1); return EQOVER; }
1324 : //YY_BREAK
1325 : case 31:
1326 : YY_RULE_SETUP
1327 0 : { yylval.str = yytext+1; token_debug(" ==>Delimeter[%s]\n",yytext+1); return DELIMETER; }
1328 : //YY_BREAK
1329 : case 32:
1330 : YY_RULE_SETUP
1331 0 : { yylval.str = yytext+1; token_debug(" ==>Large_Delim[%s]\n",yytext+1); return LARGE_DELIM; }
1332 : //YY_BREAK
1333 : case 33:
1334 : YY_RULE_SETUP
1335 0 : { yylval.str = yytext+1; token_debug(" ==>Decoration[%s]\n",yytext+1); return DECORATION; }
1336 : //YY_BREAK
1337 : case 34:
1338 : YY_RULE_SETUP
1339 0 : { yylval.str = yytext+1; token_debug(" ==>Space_Symbol[%s]\n",yytext+1); /*return SPACE_SYMBOL;*/ }
1340 : //YY_BREAK
1341 : case 35:
1342 : YY_RULE_SETUP
1343 0 : { yylval.str = strdup("quad"); token_debug(" ==>Space_Symbol[quad]\n"); /* return SPACE_SYMBOL;*/ }
1344 : //YY_BREAK
1345 : case 36:
1346 : YY_RULE_SETUP
1347 0 : { yylval.dval = yytext; token_debug(" ==>Digit[%s]\n",yytext); return DIGIT; }
1348 : //YY_BREAK
1349 : case 37:
1350 : YY_RULE_SETUP
1351 0 : { yylval.str = yytext; token_debug(" ==>Operator[%s]\n",yytext); return OPERATOR; }
1352 : //YY_BREAK
1353 : case 38:
1354 : YY_RULE_SETUP
1355 0 : { token_debug(" ==>SubSup[%s]\n",yytext); return yytext[0]; }
1356 : //YY_BREAK
1357 : case 39:
1358 : YY_RULE_SETUP
1359 0 : { token_debug(" ==>Paren[%s]\n",yytext); return yytext[0];}
1360 : //YY_BREAK
1361 : case 40:
1362 : YY_RULE_SETUP
1363 0 : { token_debug(" ==>Abs[%s]\n",yytext); return yytext[0];}
1364 : //YY_BREAK
1365 : case 41:
1366 : YY_RULE_SETUP
1367 0 : { token_debug(" ==>Space[0x%2x]\n",yytext[0]); }
1368 0 : YY_BREAK
1369 : case 42:
1370 : YY_RULE_SETUP
1371 0 : { token_debug(" ==>Ignore[0x%2x]\n",yytext[0]); }
1372 0 : YY_BREAK
1373 : case 43:
1374 : YY_RULE_SETUP
1375 0 : { yylval.str = yytext; token_debug(" ==>String[%s]\n",yytext); return STRING; }
1376 : //YY_BREAK
1377 : case 44:
1378 : YY_RULE_SETUP
1379 0 : { yylval.str = yytext; token_debug(" ==>Else[%s]\n",yytext); return CHARACTER; }
1380 : //YY_BREAK
1381 : case 45:
1382 : YY_RULE_SETUP
1383 0 : ECHO;
1384 0 : YY_BREAK
1385 : case YY_STATE_EOF(INITIAL):
1386 0 : yyterminate();
1387 :
1388 : case YY_END_OF_BUFFER:
1389 : {
1390 : /* Amount of text matched not including the EOB char. */
1391 0 : int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
1392 :
1393 : /* Undo the effects of YY_DO_BEFORE_ACTION. */
1394 0 : *yy_cp = yy_hold_char;
1395 : YY_RESTORE_YY_MORE_OFFSET
1396 :
1397 0 : if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
1398 : {
1399 : /* We're scanning a new file or input source. It's
1400 : * possible that this happened because the user
1401 : * just pointed yyin at a new source and called
1402 : * yylex(). If so, then we have to assure
1403 : * consistency between yy_current_buffer and our
1404 : * globals. Here is the right place to do so, because
1405 : * this is the first action (other than possibly a
1406 : * back-up) that will match for the new input source.
1407 : */
1408 0 : yy_n_chars = yy_current_buffer->yy_n_chars;
1409 0 : yy_current_buffer->yy_input_file = yyin;
1410 0 : yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
1411 : }
1412 :
1413 : /* Note that here we test for yy_c_buf_p "<=" to the position
1414 : * of the first EOB in the buffer, since yy_c_buf_p will
1415 : * already have been incremented past the NUL character
1416 : * (since all states make transitions on EOB to the
1417 : * end-of-buffer state). Contrast this with the test
1418 : * in input().
1419 : */
1420 0 : if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
1421 : { /* This was really a NUL. */
1422 : yy_state_type yy_next_state;
1423 :
1424 0 : yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
1425 :
1426 0 : yy_current_state = yy_get_previous_state();
1427 :
1428 : /* Okay, we're now positioned to make the NUL
1429 : * transition. We couldn't have
1430 : * yy_get_previous_state() go ahead and do it
1431 : * for us because it doesn't know how to deal
1432 : * with the possibility of jamming (and we don't
1433 : * want to build jamming into it because then it
1434 : * will run more slowly).
1435 : */
1436 :
1437 0 : yy_next_state = yy_try_NUL_trans( yy_current_state );
1438 :
1439 0 : yy_bp = yytext_ptr + YY_MORE_ADJ;
1440 :
1441 0 : if ( yy_next_state )
1442 : {
1443 : /* Consume the NUL. */
1444 0 : yy_cp = ++yy_c_buf_p;
1445 0 : yy_current_state = yy_next_state;
1446 0 : goto yy_match;
1447 : }
1448 :
1449 : else
1450 : {
1451 0 : yy_cp = yy_c_buf_p;
1452 0 : goto yy_find_action;
1453 : }
1454 : }
1455 :
1456 0 : else switch ( yy_get_next_buffer() )
1457 : {
1458 : case EOB_ACT_END_OF_FILE:
1459 : {
1460 0 : yy_did_buffer_switch_on_eof = 0;
1461 :
1462 0 : if ( yywrap() )
1463 : {
1464 : /* Note: because we've taken care in
1465 : * yy_get_next_buffer() to have set up
1466 : * yytext, we can now set up
1467 : * yy_c_buf_p so that if some total
1468 : * hoser (like flex itself) wants to
1469 : * call the scanner after we return the
1470 : * YY_NULL, it'll still work - another
1471 : * YY_NULL will get returned.
1472 : */
1473 0 : yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
1474 :
1475 0 : yy_act = YY_STATE_EOF(YY_START);
1476 0 : goto do_action;
1477 : }
1478 :
1479 : else
1480 : {
1481 0 : if ( ! yy_did_buffer_switch_on_eof )
1482 0 : YY_NEW_FILE;
1483 : }
1484 0 : break;
1485 : }
1486 :
1487 : case EOB_ACT_CONTINUE_SCAN:
1488 : yy_c_buf_p =
1489 0 : yytext_ptr + yy_amount_of_matched_text;
1490 :
1491 0 : yy_current_state = yy_get_previous_state();
1492 :
1493 0 : yy_cp = yy_c_buf_p;
1494 0 : yy_bp = yytext_ptr + YY_MORE_ADJ;
1495 0 : goto yy_match;
1496 :
1497 : case EOB_ACT_LAST_MATCH:
1498 : yy_c_buf_p =
1499 0 : &yy_current_buffer->yy_ch_buf[yy_n_chars];
1500 :
1501 0 : yy_current_state = yy_get_previous_state();
1502 :
1503 0 : yy_cp = yy_c_buf_p;
1504 0 : yy_bp = yytext_ptr + YY_MORE_ADJ;
1505 0 : goto yy_find_action;
1506 : }
1507 0 : break;
1508 : }
1509 :
1510 : default:
1511 : YY_FATAL_ERROR(
1512 0 : "fatal flex scanner internal error--no action found" );
1513 : } /* end of action switch */
1514 0 : } /* end of scanning one token */
1515 : } /* end of yylex */
1516 :
1517 :
1518 : /* yy_get_next_buffer - try to read in a new buffer
1519 : *
1520 : * Returns a code representing an action:
1521 : * EOB_ACT_LAST_MATCH -
1522 : * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1523 : * EOB_ACT_END_OF_FILE - end of file
1524 : */
1525 :
1526 0 : static int yy_get_next_buffer()
1527 : {
1528 0 : char *dest = yy_current_buffer->yy_ch_buf;
1529 0 : char *source = yytext_ptr;
1530 : int number_to_move, i;
1531 : int ret_val;
1532 :
1533 0 : if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
1534 : YY_FATAL_ERROR(
1535 0 : "fatal flex scanner internal error--end of buffer missed" );
1536 :
1537 0 : if ( yy_current_buffer->yy_fill_buffer == 0 )
1538 : { /* Don't try to fill the buffer, so this is an EOF. */
1539 0 : if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
1540 : {
1541 : /* We matched a single character, the EOB, so
1542 : * treat this as a final EOF.
1543 : */
1544 0 : return EOB_ACT_END_OF_FILE;
1545 : }
1546 :
1547 : else
1548 : {
1549 : /* We matched some text prior to the EOB, first
1550 : * process it.
1551 : */
1552 0 : return EOB_ACT_LAST_MATCH;
1553 : }
1554 : }
1555 :
1556 : /* Try to read more data. */
1557 :
1558 : /* First move last chars to start of buffer. */
1559 0 : number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
1560 :
1561 0 : for ( i = 0; i < number_to_move; ++i )
1562 0 : *(dest++) = *(source++);
1563 :
1564 0 : if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1565 : /* don't do the read, it's not guaranteed to return an EOF,
1566 : * just force an EOF
1567 : */
1568 0 : yy_current_buffer->yy_n_chars = yy_n_chars = 0;
1569 :
1570 : else
1571 : {
1572 : int num_to_read =
1573 0 : yy_current_buffer->yy_buf_size - number_to_move - 1;
1574 :
1575 0 : while ( num_to_read <= 0 )
1576 : { /* Not enough room in the buffer - grow it. */
1577 : #ifdef YY_USES_REJECT
1578 : YY_FATAL_ERROR(
1579 : "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1580 : #else
1581 :
1582 : /* just a shorter name for the current buffer */
1583 0 : YY_BUFFER_STATE b = yy_current_buffer;
1584 :
1585 : int yy_c_buf_p_offset =
1586 0 : (int) (yy_c_buf_p - b->yy_ch_buf);
1587 :
1588 0 : if ( b->yy_is_our_buffer )
1589 : {
1590 0 : int new_size = b->yy_buf_size * 2;
1591 :
1592 0 : if ( new_size <= 0 )
1593 0 : b->yy_buf_size += b->yy_buf_size / 8;
1594 : else
1595 0 : b->yy_buf_size *= 2;
1596 :
1597 : b->yy_ch_buf = (char *)
1598 : /* Include room in for 2 EOB chars. */
1599 : yy_flex_realloc( (void *) b->yy_ch_buf,
1600 0 : b->yy_buf_size + 2 );
1601 : }
1602 : else
1603 : /* Can't grow it, we don't own it. */
1604 0 : b->yy_ch_buf = 0;
1605 :
1606 0 : if ( ! b->yy_ch_buf )
1607 : YY_FATAL_ERROR(
1608 0 : "fatal error - scanner input buffer overflow" );
1609 :
1610 0 : yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
1611 :
1612 0 : num_to_read = yy_current_buffer->yy_buf_size -
1613 0 : number_to_move - 1;
1614 : #endif
1615 : }
1616 :
1617 0 : if ( num_to_read > YY_READ_BUF_SIZE )
1618 0 : num_to_read = YY_READ_BUF_SIZE;
1619 :
1620 : /* Read in more data. */
1621 0 : YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
1622 : yy_n_chars, num_to_read );
1623 :
1624 0 : yy_current_buffer->yy_n_chars = yy_n_chars;
1625 : }
1626 :
1627 0 : if ( yy_n_chars == 0 )
1628 : {
1629 0 : if ( number_to_move == YY_MORE_ADJ )
1630 : {
1631 0 : ret_val = EOB_ACT_END_OF_FILE;
1632 0 : yyrestart( yyin );
1633 : }
1634 :
1635 : else
1636 : {
1637 0 : ret_val = EOB_ACT_LAST_MATCH;
1638 : yy_current_buffer->yy_buffer_status =
1639 0 : YY_BUFFER_EOF_PENDING;
1640 : }
1641 : }
1642 :
1643 : else
1644 0 : ret_val = EOB_ACT_CONTINUE_SCAN;
1645 :
1646 0 : yy_n_chars += number_to_move;
1647 0 : yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
1648 0 : yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
1649 :
1650 0 : yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
1651 :
1652 0 : return ret_val;
1653 : }
1654 :
1655 :
1656 : /* yy_get_previous_state - get the state just before the EOB char was reached */
1657 :
1658 0 : static yy_state_type yy_get_previous_state()
1659 : {
1660 : yy_state_type yy_current_state;
1661 : char *yy_cp;
1662 :
1663 0 : yy_current_state = yy_start;
1664 :
1665 0 : for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
1666 : {
1667 0 : YY_CHAR yy_c = sal::static_int_cast<YY_CHAR>(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1668 0 : if ( yy_accept[yy_current_state] )
1669 : {
1670 0 : yy_last_accepting_state = yy_current_state;
1671 0 : yy_last_accepting_cpos = yy_cp;
1672 : }
1673 0 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1674 : {
1675 0 : yy_current_state = (int) yy_def[yy_current_state];
1676 0 : if ( yy_current_state >= 994 )
1677 0 : yy_c = sal::static_int_cast<YY_CHAR>(yy_meta[(unsigned int) yy_c]);
1678 : }
1679 0 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1680 : }
1681 :
1682 0 : return yy_current_state;
1683 : }
1684 :
1685 :
1686 : /* yy_try_NUL_trans - try to make a transition on the NUL character
1687 : *
1688 : * synopsis
1689 : * next_state = yy_try_NUL_trans( current_state );
1690 : */
1691 :
1692 : #ifdef YY_USE_PROTOS
1693 0 : static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
1694 : #else
1695 : static yy_state_type yy_try_NUL_trans( yy_current_state )
1696 : yy_state_type yy_current_state;
1697 : #endif
1698 : {
1699 : bool yy_is_jam;
1700 0 : char *yy_cp = yy_c_buf_p;
1701 :
1702 0 : YY_CHAR yy_c = 1;
1703 0 : if ( yy_accept[yy_current_state] )
1704 : {
1705 0 : yy_last_accepting_state = yy_current_state;
1706 0 : yy_last_accepting_cpos = yy_cp;
1707 : }
1708 0 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1709 : {
1710 0 : yy_current_state = (int) yy_def[yy_current_state];
1711 0 : if ( yy_current_state >= 994 )
1712 0 : yy_c = sal::static_int_cast<YY_CHAR>(yy_meta[(unsigned int) yy_c]);
1713 : }
1714 0 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1715 0 : yy_is_jam = (yy_current_state == 993);
1716 :
1717 0 : return yy_is_jam ? 0 : yy_current_state;
1718 : }
1719 :
1720 : #ifdef YY_USE_PROTOS
1721 0 : void yyrestart( FILE *input_file )
1722 : #else
1723 : void yyrestart( input_file )
1724 : FILE *input_file;
1725 : #endif
1726 : {
1727 0 : if ( ! yy_current_buffer )
1728 0 : yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
1729 :
1730 0 : yy_init_buffer( yy_current_buffer, input_file );
1731 0 : yy_load_buffer_state();
1732 0 : }
1733 :
1734 :
1735 : #ifdef YY_USE_PROTOS
1736 0 : void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
1737 : #else
1738 : void yy_switch_to_buffer( new_buffer )
1739 : YY_BUFFER_STATE new_buffer;
1740 : #endif
1741 : {
1742 0 : if ( yy_current_buffer == new_buffer )
1743 0 : return;
1744 :
1745 0 : if ( yy_current_buffer )
1746 : {
1747 : /* Flush out information for old buffer. */
1748 0 : *yy_c_buf_p = yy_hold_char;
1749 0 : yy_current_buffer->yy_buf_pos = yy_c_buf_p;
1750 0 : yy_current_buffer->yy_n_chars = yy_n_chars;
1751 : }
1752 :
1753 0 : yy_current_buffer = new_buffer;
1754 0 : yy_load_buffer_state();
1755 :
1756 : /* We don't actually know whether we did this switch during
1757 : * EOF (yywrap()) processing, but the only time this flag
1758 : * is looked at is after yywrap() is called, so it's safe
1759 : * to go ahead and always set it.
1760 : */
1761 0 : yy_did_buffer_switch_on_eof = 1;
1762 : }
1763 :
1764 :
1765 : #ifdef YY_USE_PROTOS
1766 0 : void yy_load_buffer_state( void )
1767 : #else
1768 : void yy_load_buffer_state()
1769 : #endif
1770 : {
1771 0 : yy_n_chars = yy_current_buffer->yy_n_chars;
1772 0 : yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
1773 0 : yyin = yy_current_buffer->yy_input_file;
1774 0 : yy_hold_char = *yy_c_buf_p;
1775 0 : }
1776 :
1777 :
1778 : #ifdef YY_USE_PROTOS
1779 0 : YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
1780 : #else
1781 : YY_BUFFER_STATE yy_create_buffer( file, size )
1782 : FILE *file;
1783 : int size;
1784 : #endif
1785 : {
1786 : YY_BUFFER_STATE b;
1787 :
1788 0 : b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
1789 0 : if ( ! b )
1790 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1791 :
1792 0 : b->yy_buf_size = size;
1793 :
1794 : /* yy_ch_buf has to be 2 characters longer than the size given because
1795 : * we need to put in 2 end-of-buffer characters.
1796 : */
1797 0 : b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
1798 0 : if ( ! b->yy_ch_buf )
1799 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1800 :
1801 0 : b->yy_is_our_buffer = 1;
1802 :
1803 0 : yy_init_buffer( b, file );
1804 :
1805 0 : return b;
1806 : }
1807 :
1808 :
1809 : #ifdef YY_USE_PROTOS
1810 0 : void yy_delete_buffer( YY_BUFFER_STATE b )
1811 : #else
1812 : void yy_delete_buffer( b )
1813 : YY_BUFFER_STATE b;
1814 : #endif
1815 : {
1816 0 : if ( ! b )
1817 0 : return;
1818 :
1819 0 : if ( b == yy_current_buffer )
1820 0 : yy_current_buffer = (YY_BUFFER_STATE) 0;
1821 :
1822 0 : if ( b->yy_is_our_buffer )
1823 0 : yy_flex_free( (void *) b->yy_ch_buf );
1824 :
1825 0 : yy_flex_free( (void *) b );
1826 : }
1827 :
1828 :
1829 : #ifndef YY_ALWAYS_INTERACTIVE
1830 : #ifndef YY_NEVER_INTERACTIVE
1831 : extern int isatty YY_PROTO(( int ));
1832 : #endif
1833 : #endif
1834 :
1835 : #ifdef YY_USE_PROTOS
1836 0 : void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
1837 : #else
1838 : void yy_init_buffer( b, file )
1839 : YY_BUFFER_STATE b;
1840 : FILE *file;
1841 : #endif
1842 :
1843 :
1844 : {
1845 0 : yy_flush_buffer( b );
1846 :
1847 0 : b->yy_input_file = file;
1848 0 : b->yy_fill_buffer = 1;
1849 :
1850 : #if YY_ALWAYS_INTERACTIVE
1851 : b->yy_is_interactive = true;
1852 : #else
1853 : #if YY_NEVER_INTERACTIVE
1854 : b->yy_is_interactive = false;
1855 : #else
1856 0 : b->yy_is_interactive = file && isatty( fileno(file) ) > 0;
1857 : #endif
1858 : #endif
1859 0 : }
1860 :
1861 :
1862 : #ifdef YY_USE_PROTOS
1863 0 : void yy_flush_buffer( YY_BUFFER_STATE b )
1864 : #else
1865 : void yy_flush_buffer( b )
1866 : YY_BUFFER_STATE b;
1867 : #endif
1868 :
1869 : {
1870 0 : if ( ! b )
1871 0 : return;
1872 :
1873 0 : b->yy_n_chars = 0;
1874 :
1875 : /* We always need two end-of-buffer characters. The first causes
1876 : * a transition to the end-of-buffer state. The second causes
1877 : * a jam in that state.
1878 : */
1879 0 : b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1880 0 : b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1881 :
1882 0 : b->yy_buf_pos = &b->yy_ch_buf[0];
1883 :
1884 0 : b->yy_at_bol = 1;
1885 0 : b->yy_buffer_status = YY_BUFFER_NEW;
1886 :
1887 0 : if ( b == yy_current_buffer )
1888 0 : yy_load_buffer_state();
1889 : }
1890 :
1891 :
1892 : #ifndef YY_NO_SCAN_BUFFER
1893 : #ifdef YY_USE_PROTOS
1894 0 : YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
1895 : #else
1896 : YY_BUFFER_STATE yy_scan_buffer( base, size )
1897 : char *base;
1898 : yy_size_t size;
1899 : #endif
1900 : {
1901 : YY_BUFFER_STATE b;
1902 :
1903 0 : if ( size < 2 ||
1904 0 : base[size-2] != YY_END_OF_BUFFER_CHAR ||
1905 0 : base[size-1] != YY_END_OF_BUFFER_CHAR )
1906 : /* They forgot to leave room for the EOB's. */
1907 0 : return 0;
1908 :
1909 0 : b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
1910 0 : if ( ! b )
1911 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1912 :
1913 0 : b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
1914 0 : b->yy_buf_pos = b->yy_ch_buf = base;
1915 0 : b->yy_is_our_buffer = 0;
1916 0 : b->yy_input_file = 0;
1917 0 : b->yy_n_chars = b->yy_buf_size;
1918 0 : b->yy_is_interactive = false;
1919 0 : b->yy_at_bol = 1;
1920 0 : b->yy_fill_buffer = 0;
1921 0 : b->yy_buffer_status = YY_BUFFER_NEW;
1922 :
1923 0 : yy_switch_to_buffer( b );
1924 :
1925 0 : return b;
1926 : }
1927 : #endif
1928 :
1929 :
1930 : #ifndef YY_NO_SCAN_STRING
1931 : #ifdef YY_USE_PROTOS
1932 0 : YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
1933 : #else
1934 : YY_BUFFER_STATE yy_scan_string( yy_str )
1935 : yyconst char *yy_str;
1936 : #endif
1937 : {
1938 : int len;
1939 0 : for ( len = 0; yy_str[len]; ++len )
1940 : ;
1941 :
1942 0 : return yy_scan_bytes( yy_str, len );
1943 : }
1944 : #endif
1945 :
1946 :
1947 : #ifndef YY_NO_SCAN_BYTES
1948 : #ifdef YY_USE_PROTOS
1949 0 : YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
1950 : #else
1951 : YY_BUFFER_STATE yy_scan_bytes( bytes, len )
1952 : yyconst char *bytes;
1953 : int len;
1954 : #endif
1955 : {
1956 : YY_BUFFER_STATE b;
1957 : char *buf;
1958 : yy_size_t n;
1959 : int i;
1960 :
1961 : /* Get memory for full buffer, including space for trailing EOB's. */
1962 0 : n = len + 2;
1963 0 : buf = (char *) yy_flex_alloc( n );
1964 0 : if ( ! buf )
1965 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1966 :
1967 0 : for ( i = 0; i < len; ++i )
1968 0 : buf[i] = bytes[i];
1969 :
1970 0 : buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
1971 :
1972 0 : b = yy_scan_buffer( buf, n );
1973 0 : if ( ! b )
1974 0 : YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1975 :
1976 : /* It's okay to grow etc. this buffer, and we should throw it
1977 : * away when we're done.
1978 : */
1979 0 : b->yy_is_our_buffer = 1;
1980 :
1981 0 : return b;
1982 : }
1983 : #endif
1984 :
1985 :
1986 : #ifndef YY_NO_PUSH_STATE
1987 : #ifdef YY_USE_PROTOS
1988 : static void yy_push_state( int new_state )
1989 : #else
1990 : static void yy_push_state( new_state )
1991 : int new_state;
1992 : #endif
1993 : {
1994 : if ( yy_start_stack_ptr >= yy_start_stack_depth )
1995 : {
1996 : yy_size_t new_size;
1997 :
1998 : yy_start_stack_depth += YY_START_STACK_INCR;
1999 : new_size = yy_start_stack_depth * sizeof( int );
2000 :
2001 : if ( ! yy_start_stack )
2002 : yy_start_stack = (int *) yy_flex_alloc( new_size );
2003 :
2004 : else
2005 : yy_start_stack = (int *) yy_flex_realloc(
2006 : (void *) yy_start_stack, new_size );
2007 :
2008 : if ( ! yy_start_stack )
2009 : YY_FATAL_ERROR(
2010 : "out of memory expanding start-condition stack" );
2011 : }
2012 :
2013 : yy_start_stack[yy_start_stack_ptr++] = YY_START;
2014 :
2015 : BEGIN(new_state);
2016 : }
2017 : #endif
2018 :
2019 :
2020 : #ifndef YY_NO_POP_STATE
2021 : static void yy_pop_state()
2022 : {
2023 : if ( --yy_start_stack_ptr < 0 )
2024 : YY_FATAL_ERROR( "start-condition stack underflow" );
2025 :
2026 : BEGIN(yy_start_stack[yy_start_stack_ptr]);
2027 : }
2028 : #endif
2029 :
2030 :
2031 : #ifndef YY_NO_TOP_STATE
2032 : static int yy_top_state()
2033 : {
2034 : return yy_start_stack[yy_start_stack_ptr - 1];
2035 : }
2036 : #endif
2037 :
2038 : #ifndef YY_EXIT_FAILURE
2039 : #define YY_EXIT_FAILURE 2
2040 : #endif
2041 :
2042 : #ifdef YY_USE_PROTOS
2043 0 : static void yy_fatal_error( yyconst char msg[] )
2044 : #else
2045 : static void yy_fatal_error( msg )
2046 : char msg[];
2047 : #endif
2048 : {
2049 0 : (void) fprintf( stderr, "%s\n", msg );
2050 0 : exit( YY_EXIT_FAILURE );
2051 : }
2052 :
2053 :
2054 :
2055 : /* Internal utility routines. */
2056 :
2057 : #ifndef yytext_ptr
2058 : #ifdef YY_USE_PROTOS
2059 : static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
2060 : #else
2061 : static void yy_flex_strncpy( s1, s2, n )
2062 : char *s1;
2063 : yyconst char *s2;
2064 : int n;
2065 : #endif
2066 : {
2067 : int i;
2068 : for ( i = 0; i < n; ++i )
2069 : s1[i] = s2[i];
2070 : }
2071 : #endif
2072 :
2073 : #ifdef YY_NEED_STRLEN
2074 : #ifdef YY_USE_PROTOS
2075 : static int yy_flex_strlen( yyconst char *s )
2076 : #else
2077 : static int yy_flex_strlen( s )
2078 : yyconst char *s;
2079 : #endif
2080 : {
2081 : int n;
2082 : for ( n = 0; s[n]; ++n )
2083 : ;
2084 :
2085 : return n;
2086 : }
2087 : #endif
2088 :
2089 :
2090 : #ifdef YY_USE_PROTOS
2091 0 : static void *yy_flex_alloc( yy_size_t size )
2092 : #else
2093 : static void *yy_flex_alloc( size )
2094 : yy_size_t size;
2095 : #endif
2096 : {
2097 0 : return (void *) malloc( size );
2098 : }
2099 :
2100 : #ifdef YY_USE_PROTOS
2101 0 : static void *yy_flex_realloc( void *ptr, yy_size_t size )
2102 : #else
2103 : static void *yy_flex_realloc( ptr, size )
2104 : void *ptr;
2105 : yy_size_t size;
2106 : #endif
2107 : {
2108 : /* The cast to (char *) in the following accommodates both
2109 : * implementations that use char* generic pointers, and those
2110 : * that use void* generic pointers. It works with the latter
2111 : * because both ANSI C and C++ allow castless assignment from
2112 : * any pointer type to void*, and deal with argument conversions
2113 : * as though doing an assignment.
2114 : */
2115 0 : return (void *) realloc( (char *) ptr, size );
2116 : }
2117 :
2118 : #ifdef YY_USE_PROTOS
2119 0 : static void yy_flex_free( void *ptr )
2120 : #else
2121 : static void yy_flex_free( ptr )
2122 : void *ptr;
2123 : #endif
2124 : {
2125 0 : free( ptr );
2126 0 : }
2127 :
2128 : #if YY_MAIN
2129 : int main()
2130 : {
2131 : yylex();
2132 : return 0;
2133 : }
2134 : #endif
2135 :
2136 :
2137 0 : void initFlex(const char *_code )
2138 : {
2139 0 : yy_switch_to_buffer( yy_scan_string(_code) );
2140 0 : }
2141 :
2142 0 : int yywrap()
2143 : {
2144 0 : yy_delete_buffer( YY_CURRENT_BUFFER );
2145 0 : return 1;
2146 : }
2147 :
2148 : #ifndef TOKEN_DEBUG
2149 0 : int token_debug(const char * /*format*/, ...)
2150 : {
2151 0 : return 0;
2152 : }
2153 : #endif
2154 :
2155 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|