1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 /* A lexical scanner generated by flex */
22 /* Scanner skeleton version:
25 #define YY_STACK_USED 0
27 #ifndef YY_ALWAYS_INTERACTIVE
28 #define YY_ALWAYS_INTERACTIVE 0
30 #ifndef YY_NEVER_INTERACTIVE
31 #define YY_NEVER_INTERACTIVE 0
40 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
58 /* Use prototypes in function declarations. */
61 /* The "const" storage-class-modifier is valid. */
64 #else /* ! __cplusplus */
72 #endif /* ! __cplusplus */
82 #define YY_PROTO(proto) proto
84 #define YY_PROTO(proto) ()
87 /* Returned upon end-of-file. */
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
95 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
97 /* Translate the current start state into a value that can be later handed
98 * to BEGIN to return to the state.
100 #define YY_START ((yy_start - 1) / 2)
102 /* Action number for EOF rule of a given start state. */
103 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
105 /* Special action meaning "start processing a new file". */
106 #define YY_NEW_FILE yyrestart( yyin )
108 #define YY_END_OF_BUFFER_CHAR 0
110 /* Size of default input buffer. */
111 #define YY_BUF_SIZE 16384
113 typedef struct yy_buffer_state
*YY_BUFFER_STATE
;
116 extern FILE *yyin
, *yyout
;
118 #define EOB_ACT_CONTINUE_SCAN 0
119 #define EOB_ACT_END_OF_FILE 1
120 #define EOB_ACT_LAST_MATCH 2
122 //#define unput(c) yyunput( c, yytext_ptr )
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).
128 typedef unsigned int yy_size_t
;
131 struct yy_buffer_state
135 char *yy_ch_buf
; /* input buffer */
136 char *yy_buf_pos
; /* current position in input buffer */
138 /* Size of input buffer in bytes, not including room for EOB
141 yy_size_t yy_buf_size
;
143 /* Number of characters read into yy_ch_buf, not including EOB
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
152 int yy_is_our_buffer
;
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
159 int yy_is_interactive
;
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
167 /* Whether to try to fill the input buffer when we reach the
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.
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.
185 #define YY_BUFFER_EOF_PENDING 2
188 static YY_BUFFER_STATE yy_current_buffer
= 0;
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
194 #define YY_CURRENT_BUFFER yy_current_buffer
197 /* yy_hold_char holds the character lost when yytext is formed. */
198 static char yy_hold_char
;
200 static int yy_n_chars
; /* number of characters read into yy_ch_buf */
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 */
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 ...
213 static int yy_did_buffer_switch_on_eof
;
215 void yyrestart
YY_PROTO(( FILE *input_file
));
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
));
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
));
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 * ));
232 typedef unsigned char YY_CHAR
;
233 FILE *yyin
= (FILE *) 0, *yyout
= (FILE *) 0;
234 typedef int yy_state_type
;
236 #define yytext_ptr yytext
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
[] ));
243 /* Done after the current pattern has been matched and before the
244 * corresponding action - sets up yytext.
246 #define YY_DO_BEFORE_ACTION \
247 yytext_ptr = yy_bp; \
248 yyleng = (int) (yy_cp - yy_bp); \
249 yy_hold_char = *yy_cp; \
253 #define YY_END_OF_BUFFER 46
254 static yyconst
short int yy_accept
[994] =
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
368 static yyconst
int yy_ec
[256] =
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,
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,
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,
400 static yyconst
int yy_meta
[74] =
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,
412 static yyconst
short int yy_base
[995] =
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
526 static yyconst
short int yy_def
[995] =
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
640 static yyconst
short int yy_nxt
[1389] =
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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
796 static yyconst
short int yy_chk
[1389] =
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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
952 static yy_state_type yy_last_accepting_state
;
953 static char *yy_last_accepting_cpos
;
955 #define YY_MORE_ADJ 0
956 #define YY_RESTORE_YY_MORE_OFFSET
964 #define strdup _strdup
965 #define fileno _fileno
966 #define isatty _isatty
979 extern YYSTYPE yylval
;
982 #define token_debug printf
984 int token_debug(const char *format
, ...);
987 /* Macros after this point can all be overridden by user definitions in
991 #ifndef YY_SKIP_YYWRAP
993 extern "C" int yywrap
YY_PROTO(( void ));
995 extern int yywrap
YY_PROTO(( void ));
1000 //static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1004 static void yy_flex_strncpy
YY_PROTO(( char *, yyconst
char *, int ));
1007 #ifdef YY_NEED_STRLEN
1008 static int yy_flex_strlen
YY_PROTO(( yyconst
char * ));
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
));
1018 #ifndef YY_NO_POP_STATE
1019 static void yy_pop_state
YY_PROTO(( void ));
1021 #ifndef YY_NO_TOP_STATE
1022 static int yy_top_state
YY_PROTO(( void ));
1026 #define YY_NO_PUSH_STATE 1
1027 #define YY_NO_POP_STATE 1
1028 #define YY_NO_TOP_STATE 1
1031 #ifdef YY_MALLOC_DECL
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).
1046 /* Amount of stuff to slurp up with each read. */
1047 #ifndef YY_READ_BUF_SIZE
1048 #define YY_READ_BUF_SIZE 8192
1051 /* Copy whatever the last rule matched to the standard output. */
1054 /* This used to be an fputs(), but since the string might contain NUL's,
1055 * we now use fwrite().
1057 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1060 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1061 * is returned in "result".
1064 #define YY_INPUT(buf,result,max_size) \
1065 if ( yy_current_buffer->yy_is_interactive ) \
1068 for ( n = 0; n < max_size && \
1069 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1070 buf[n] = (char) c; \
1072 buf[n++] = (char) c; \
1073 if ( c == EOF && ferror( yyin ) ) \
1074 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1077 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1078 && ferror( yyin ) ) \
1079 YY_FATAL_ERROR( "input in flex scanner failed" );
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.
1087 #define yyterminate() return YY_NULL
1090 /* Report a fatal error. */
1091 #ifndef YY_FATAL_ERROR
1092 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1095 /* Default declaration of generated scanner - a define so the user can
1096 * easily add parameters.
1099 #define YY_DECL int yylex YY_PROTO(( void ))
1102 /* Code executed at the beginning of each rule, after yytext and yyleng
1105 #ifndef YY_USER_ACTION
1106 #define YY_USER_ACTION
1109 /* Code executed at the end of each rule. */
1111 #define YY_BREAK break;
1114 #define YY_RULE_SETUP \
1119 register yy_state_type yy_current_state
;
1120 register char *yy_cp
, *yy_bp
;
1121 register int yy_act
;
1132 yy_start
= 1; /* first start state */
1140 if ( ! yy_current_buffer
)
1142 yy_create_buffer( yyin
, YY_BUF_SIZE
);
1144 yy_load_buffer_state();
1147 while ( 1 ) /* loops until end-of-file is reached */
1151 /* Support of yytext. */
1152 *yy_cp
= yy_hold_char
;
1154 /* yy_bp points to the position in yy_ch_buf of the start of
1159 yy_current_state
= yy_start
;
1163 register YY_CHAR yy_c
= sal::static_int_cast
<YY_CHAR
>(yy_ec
[YY_SC_TO_UI(*yy_cp
)]);
1164 if ( yy_accept
[yy_current_state
] )
1166 yy_last_accepting_state
= yy_current_state
;
1167 yy_last_accepting_cpos
= yy_cp
;
1169 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1171 yy_current_state
= (int) yy_def
[yy_current_state
];
1172 if ( yy_current_state
>= 994 )
1173 yy_c
= sal::static_int_cast
<YY_CHAR
>(yy_meta
[(unsigned int) yy_c
]);
1175 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
1178 while ( yy_base
[yy_current_state
] != 1315 );
1181 yy_act
= yy_accept
[yy_current_state
];
1183 { /* have to back up */
1184 yy_cp
= yy_last_accepting_cpos
;
1185 yy_current_state
= yy_last_accepting_state
;
1186 yy_act
= yy_accept
[yy_current_state
];
1189 YY_DO_BEFORE_ACTION
;
1192 do_action
: /* This label is used only to access EOF actions. */
1196 { /* beginning of action switch */
1197 case 0: /* must back up */
1198 /* undo the effects of YY_DO_BEFORE_ACTION */
1199 *yy_cp
= yy_hold_char
;
1200 yy_cp
= yy_last_accepting_cpos
;
1201 yy_current_state
= yy_last_accepting_state
;
1202 goto yy_find_action
;
1206 { yylval
.str
= yytext
+1; token_debug(" ==>Begin[%s]\n",yytext
+1); return EQBEGIN
; }
1210 { yylval
.str
= yytext
+1; token_debug(" ==>End[%s]\n",yytext
+1); return EQEND
; }
1214 { yylval
.str
= yytext
+1; token_debug(" ==>Left[%s]\n",yytext
+1); return EQLEFT
; }
1218 { yylval
.str
= yytext
+1; token_debug(" ==>LeftDelim[%s]\n",yytext
+1); return LEFT_DELIM
; }
1222 { yylval
.str
= yytext
+1; token_debug(" ==>RightDelim[%s]\n",yytext
+1); return RIGHT_DELIM
; }
1226 { yylval
.str
= yytext
+1; token_debug(" ==>Right[%s]\n",yytext
+1); return EQRIGHT
; }
1230 { yylval
.str
= yytext
; token_debug(" ==>NewLine[%s]\n",yytext
); return NEWLINE
; }
1234 { yylval
.str
= yytext
+1; token_debug(" ==>Accent[%s]\n",yytext
+1); return ACCENT
; }
1238 { yylval
.str
= yytext
+1; token_debug(" ==>Small_Greek[%s]\n",yytext
+1); return SMALL_GREEK
; }
1242 { yylval
.str
= yytext
+1; token_debug(" ==>Capital_Greek[%s]\n",yytext
+1); return CAPITAL_GREEK
; }
1246 { yylval
.str
= yytext
+1; token_debug(" ==>Binary_Operator[%s]\n",yytext
+1); return BINARY_OPERATOR
; }
1250 { yylval
.str
= yytext
+1; token_debug(" ==>Relation_Symbol[%s]\n",yytext
+1); return RELATION_OPERATOR
; }
1254 { yylval
.str
= strdup("neq"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1258 { yylval
.str
= strdup("vmlt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1262 { yylval
.str
= strdup("vmgt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1266 { yylval
.str
= strdup("mlt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1270 { yylval
.str
= strdup("mgt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1274 { yylval
.str
= yytext
; token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1278 { yylval
.str
= yytext
+1; token_debug(" ==>Arrow[%s]\n",yytext
+1); return ARROW
; }
1282 { yylval
.str
= strdup("leftrightarrow"); token_debug(" ==>Arrow[leftrightarrow]\n"); return ARROW
; }
1286 { yylval
.str
= strdup("rightarrow"); token_debug(" ==>Arrow[rightarrow]\n"); return ARROW
; }
1290 { yylval
.str
= strdup("leftarrow"); token_debug(" ==>Arrow[leftarrow]\n"); return ARROW
; }
1295 { token_debug(" ==>Ignore[\\rm]\n"); }
1299 { yylval
.str
= yytext
+1; token_debug(" ==>General_Iden[%s]\n",yytext
+1); return GENERAL_IDEN
; }
1303 { yylval
.str
= yytext
+1; token_debug(" ==>General_Oper[%s]\n",yytext
+1); return GENERAL_OPER
; }
1307 { yylval
.str
= yytext
+1; token_debug(" ==>Big_Symbol[%s]\n",yytext
+1); return BIG_SYMBOL
; }
1311 { yylval
.str
= yytext
+1; token_debug(" ==>Function[%s]\n",yytext
+1); return FUNCTION
; }
1315 { yylval
.str
= yytext
+1; token_debug(" ==>Root[%s]\n",yytext
+1); return ROOT
; }
1319 { yylval
.str
= yytext
+1; token_debug(" ==>Fraction[%s]\n",yytext
+1); return FRACTION
; }
1323 { yylval
.str
= yytext
+1; token_debug(" ==>Over[%s]\n",yytext
+1); return EQOVER
; }
1327 { yylval
.str
= yytext
+1; token_debug(" ==>Delimeter[%s]\n",yytext
+1); return DELIMETER
; }
1331 { yylval
.str
= yytext
+1; token_debug(" ==>Large_Delim[%s]\n",yytext
+1); return LARGE_DELIM
; }
1335 { yylval
.str
= yytext
+1; token_debug(" ==>Decoration[%s]\n",yytext
+1); return DECORATION
; }
1339 { yylval
.str
= yytext
+1; token_debug(" ==>Space_Symbol[%s]\n",yytext
+1); /*return SPACE_SYMBOL;*/ }
1343 { yylval
.str
= strdup("quad"); token_debug(" ==>Space_Symbol[quad]\n"); /* return SPACE_SYMBOL;*/ }
1347 { yylval
.dval
= yytext
; token_debug(" ==>Digit[%s]\n",yytext
); return DIGIT
; }
1351 { yylval
.str
= yytext
; token_debug(" ==>Operator[%s]\n",yytext
); return OPERATOR
; }
1355 { token_debug(" ==>SubSup[%s]\n",yytext
); return yytext
[0]; }
1359 { token_debug(" ==>Paren[%s]\n",yytext
); return yytext
[0];}
1363 { token_debug(" ==>Abs[%s]\n",yytext
); return yytext
[0];}
1367 { token_debug(" ==>Space[0x%2x]\n",yytext
[0]); }
1371 { token_debug(" ==>Ignore[0x%2x]\n",yytext
[0]); }
1375 { yylval
.str
= yytext
; token_debug(" ==>String[%s]\n",yytext
); return STRING
; }
1379 { yylval
.str
= yytext
; token_debug(" ==>Else[%s]\n",yytext
); return CHARACTER
; }
1385 case YY_STATE_EOF(INITIAL
):
1388 case YY_END_OF_BUFFER
:
1390 /* Amount of text matched not including the EOB char. */
1391 int yy_amount_of_matched_text
= (int) (yy_cp
- yytext_ptr
) - 1;
1393 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1394 *yy_cp
= yy_hold_char
;
1395 YY_RESTORE_YY_MORE_OFFSET
1397 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_NEW
)
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.
1408 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
1409 yy_current_buffer
->yy_input_file
= yyin
;
1410 yy_current_buffer
->yy_buffer_status
= YY_BUFFER_NORMAL
;
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
1420 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
;
1424 yy_c_buf_p
= yytext_ptr
+ yy_amount_of_matched_text
;
1426 yy_current_state
= yy_get_previous_state();
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).
1437 yy_next_state
= yy_try_NUL_trans( yy_current_state
);
1439 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
1441 if ( yy_next_state
)
1443 /* Consume the NUL. */
1444 yy_cp
= ++yy_c_buf_p
;
1445 yy_current_state
= yy_next_state
;
1452 goto yy_find_action
;
1456 else switch ( yy_get_next_buffer() )
1458 case EOB_ACT_END_OF_FILE
:
1460 yy_did_buffer_switch_on_eof
= 0;
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.
1473 yy_c_buf_p
= yytext_ptr
+ YY_MORE_ADJ
;
1475 yy_act
= YY_STATE_EOF(YY_START
);
1481 if ( ! yy_did_buffer_switch_on_eof
)
1487 case EOB_ACT_CONTINUE_SCAN
:
1489 yytext_ptr
+ yy_amount_of_matched_text
;
1491 yy_current_state
= yy_get_previous_state();
1494 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
1497 case EOB_ACT_LAST_MATCH
:
1499 &yy_current_buffer
->yy_ch_buf
[yy_n_chars
];
1501 yy_current_state
= yy_get_previous_state();
1504 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
1505 goto yy_find_action
;
1512 "fatal flex scanner internal error--no action found" );
1513 } /* end of action switch */
1514 } /* end of scanning one token */
1515 } /* end of yylex */
1518 /* yy_get_next_buffer - try to read in a new buffer
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
1526 static int yy_get_next_buffer()
1528 register char *dest
= yy_current_buffer
->yy_ch_buf
;
1529 register char *source
= yytext_ptr
;
1530 register int number_to_move
, i
;
1533 if ( yy_c_buf_p
> &yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] )
1535 "fatal flex scanner internal error--end of buffer missed" );
1537 if ( yy_current_buffer
->yy_fill_buffer
== 0 )
1538 { /* Don't try to fill the buffer, so this is an EOF. */
1539 if ( yy_c_buf_p
- yytext_ptr
- YY_MORE_ADJ
== 1 )
1541 /* We matched a single character, the EOB, so
1542 * treat this as a final EOF.
1544 return EOB_ACT_END_OF_FILE
;
1549 /* We matched some text prior to the EOB, first
1552 return EOB_ACT_LAST_MATCH
;
1556 /* Try to read more data. */
1558 /* First move last chars to start of buffer. */
1559 number_to_move
= (int) (yy_c_buf_p
- yytext_ptr
) - 1;
1561 for ( i
= 0; i
< number_to_move
; ++i
)
1562 *(dest
++) = *(source
++);
1564 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,
1568 yy_current_buffer
->yy_n_chars
= yy_n_chars
= 0;
1573 yy_current_buffer
->yy_buf_size
- number_to_move
- 1;
1575 while ( num_to_read
<= 0 )
1576 { /* Not enough room in the buffer - grow it. */
1577 #ifdef YY_USES_REJECT
1579 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1582 /* just a shorter name for the current buffer */
1583 YY_BUFFER_STATE b
= yy_current_buffer
;
1585 int yy_c_buf_p_offset
=
1586 (int) (yy_c_buf_p
- b
->yy_ch_buf
);
1588 if ( b
->yy_is_our_buffer
)
1590 int new_size
= b
->yy_buf_size
* 2;
1592 if ( new_size
<= 0 )
1593 b
->yy_buf_size
+= b
->yy_buf_size
/ 8;
1595 b
->yy_buf_size
*= 2;
1597 b
->yy_ch_buf
= (char *)
1598 /* Include room in for 2 EOB chars. */
1599 yy_flex_realloc( (void *) b
->yy_ch_buf
,
1600 b
->yy_buf_size
+ 2 );
1603 /* Can't grow it, we don't own it. */
1606 if ( ! b
->yy_ch_buf
)
1608 "fatal error - scanner input buffer overflow" );
1610 yy_c_buf_p
= &b
->yy_ch_buf
[yy_c_buf_p_offset
];
1612 num_to_read
= yy_current_buffer
->yy_buf_size
-
1617 if ( num_to_read
> YY_READ_BUF_SIZE
)
1618 num_to_read
= YY_READ_BUF_SIZE
;
1620 /* Read in more data. */
1621 YY_INPUT( (&yy_current_buffer
->yy_ch_buf
[number_to_move
]),
1622 yy_n_chars
, num_to_read
);
1624 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
1627 if ( yy_n_chars
== 0 )
1629 if ( number_to_move
== YY_MORE_ADJ
)
1631 ret_val
= EOB_ACT_END_OF_FILE
;
1637 ret_val
= EOB_ACT_LAST_MATCH
;
1638 yy_current_buffer
->yy_buffer_status
=
1639 YY_BUFFER_EOF_PENDING
;
1644 ret_val
= EOB_ACT_CONTINUE_SCAN
;
1646 yy_n_chars
+= number_to_move
;
1647 yy_current_buffer
->yy_ch_buf
[yy_n_chars
] = YY_END_OF_BUFFER_CHAR
;
1648 yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] = YY_END_OF_BUFFER_CHAR
;
1650 yytext_ptr
= &yy_current_buffer
->yy_ch_buf
[0];
1656 /* yy_get_previous_state - get the state just before the EOB char was reached */
1658 static yy_state_type
yy_get_previous_state()
1660 register yy_state_type yy_current_state
;
1661 register char *yy_cp
;
1663 yy_current_state
= yy_start
;
1665 for ( yy_cp
= yytext_ptr
+ YY_MORE_ADJ
; yy_cp
< yy_c_buf_p
; ++yy_cp
)
1667 register YY_CHAR yy_c
= sal::static_int_cast
<YY_CHAR
>(*yy_cp
? yy_ec
[YY_SC_TO_UI(*yy_cp
)] : 1);
1668 if ( yy_accept
[yy_current_state
] )
1670 yy_last_accepting_state
= yy_current_state
;
1671 yy_last_accepting_cpos
= yy_cp
;
1673 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1675 yy_current_state
= (int) yy_def
[yy_current_state
];
1676 if ( yy_current_state
>= 994 )
1677 yy_c
= sal::static_int_cast
<YY_CHAR
>(yy_meta
[(unsigned int) yy_c
]);
1679 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
1682 return yy_current_state
;
1686 /* yy_try_NUL_trans - try to make a transition on the NUL character
1689 * next_state = yy_try_NUL_trans( current_state );
1692 #ifdef YY_USE_PROTOS
1693 static yy_state_type
yy_try_NUL_trans( yy_state_type yy_current_state
)
1695 static yy_state_type
yy_try_NUL_trans( yy_current_state
)
1696 yy_state_type yy_current_state
;
1699 register int yy_is_jam
;
1700 register char *yy_cp
= yy_c_buf_p
;
1702 register YY_CHAR yy_c
= 1;
1703 if ( yy_accept
[yy_current_state
] )
1705 yy_last_accepting_state
= yy_current_state
;
1706 yy_last_accepting_cpos
= yy_cp
;
1708 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1710 yy_current_state
= (int) yy_def
[yy_current_state
];
1711 if ( yy_current_state
>= 994 )
1712 yy_c
= sal::static_int_cast
<YY_CHAR
>(yy_meta
[(unsigned int) yy_c
]);
1714 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + (unsigned int) yy_c
];
1715 yy_is_jam
= (yy_current_state
== 993);
1717 return yy_is_jam
? 0 : yy_current_state
;
1720 #ifdef YY_USE_PROTOS
1721 void yyrestart( FILE *input_file
)
1723 void yyrestart( input_file
)
1727 if ( ! yy_current_buffer
)
1728 yy_current_buffer
= yy_create_buffer( yyin
, YY_BUF_SIZE
);
1730 yy_init_buffer( yy_current_buffer
, input_file
);
1731 yy_load_buffer_state();
1735 #ifdef YY_USE_PROTOS
1736 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer
)
1738 void yy_switch_to_buffer( new_buffer
)
1739 YY_BUFFER_STATE new_buffer
;
1742 if ( yy_current_buffer
== new_buffer
)
1745 if ( yy_current_buffer
)
1747 /* Flush out information for old buffer. */
1748 *yy_c_buf_p
= yy_hold_char
;
1749 yy_current_buffer
->yy_buf_pos
= yy_c_buf_p
;
1750 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
1753 yy_current_buffer
= new_buffer
;
1754 yy_load_buffer_state();
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.
1761 yy_did_buffer_switch_on_eof
= 1;
1765 #ifdef YY_USE_PROTOS
1766 void yy_load_buffer_state( void )
1768 void yy_load_buffer_state()
1771 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
1772 yytext_ptr
= yy_c_buf_p
= yy_current_buffer
->yy_buf_pos
;
1773 yyin
= yy_current_buffer
->yy_input_file
;
1774 yy_hold_char
= *yy_c_buf_p
;
1778 #ifdef YY_USE_PROTOS
1779 YY_BUFFER_STATE
yy_create_buffer( FILE *file
, int size
)
1781 YY_BUFFER_STATE
yy_create_buffer( file
, size
)
1788 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
1790 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1792 b
->yy_buf_size
= size
;
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.
1797 b
->yy_ch_buf
= (char *) yy_flex_alloc( b
->yy_buf_size
+ 2 );
1798 if ( ! b
->yy_ch_buf
)
1799 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1801 b
->yy_is_our_buffer
= 1;
1803 yy_init_buffer( b
, file
);
1809 #ifdef YY_USE_PROTOS
1810 void yy_delete_buffer( YY_BUFFER_STATE b
)
1812 void yy_delete_buffer( b
)
1819 if ( b
== yy_current_buffer
)
1820 yy_current_buffer
= (YY_BUFFER_STATE
) 0;
1822 if ( b
->yy_is_our_buffer
)
1823 yy_flex_free( (void *) b
->yy_ch_buf
);
1825 yy_flex_free( (void *) b
);
1829 #ifndef YY_ALWAYS_INTERACTIVE
1830 #ifndef YY_NEVER_INTERACTIVE
1831 extern int isatty
YY_PROTO(( int ));
1835 #ifdef YY_USE_PROTOS
1836 void yy_init_buffer( YY_BUFFER_STATE b
, FILE *file
)
1838 void yy_init_buffer( b
, file
)
1845 yy_flush_buffer( b
);
1847 b
->yy_input_file
= file
;
1848 b
->yy_fill_buffer
= 1;
1850 #if YY_ALWAYS_INTERACTIVE
1851 b
->yy_is_interactive
= 1;
1853 #if YY_NEVER_INTERACTIVE
1854 b
->yy_is_interactive
= 0;
1856 b
->yy_is_interactive
= file
? (isatty( fileno(file
) ) > 0) : 0;
1862 #ifdef YY_USE_PROTOS
1863 void yy_flush_buffer( YY_BUFFER_STATE b
)
1865 void yy_flush_buffer( b
)
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.
1879 b
->yy_ch_buf
[0] = YY_END_OF_BUFFER_CHAR
;
1880 b
->yy_ch_buf
[1] = YY_END_OF_BUFFER_CHAR
;
1882 b
->yy_buf_pos
= &b
->yy_ch_buf
[0];
1885 b
->yy_buffer_status
= YY_BUFFER_NEW
;
1887 if ( b
== yy_current_buffer
)
1888 yy_load_buffer_state();
1892 #ifndef YY_NO_SCAN_BUFFER
1893 #ifdef YY_USE_PROTOS
1894 YY_BUFFER_STATE
yy_scan_buffer( char *base
, yy_size_t size
)
1896 YY_BUFFER_STATE
yy_scan_buffer( base
, size
)
1904 base
[size
-2] != YY_END_OF_BUFFER_CHAR
||
1905 base
[size
-1] != YY_END_OF_BUFFER_CHAR
)
1906 /* They forgot to leave room for the EOB's. */
1909 b
= (YY_BUFFER_STATE
) yy_flex_alloc( sizeof( struct yy_buffer_state
) );
1911 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1913 b
->yy_buf_size
= size
- 2; /* "- 2" to take care of EOB's */
1914 b
->yy_buf_pos
= b
->yy_ch_buf
= base
;
1915 b
->yy_is_our_buffer
= 0;
1916 b
->yy_input_file
= 0;
1917 b
->yy_n_chars
= b
->yy_buf_size
;
1918 b
->yy_is_interactive
= 0;
1920 b
->yy_fill_buffer
= 0;
1921 b
->yy_buffer_status
= YY_BUFFER_NEW
;
1923 yy_switch_to_buffer( b
);
1930 #ifndef YY_NO_SCAN_STRING
1931 #ifdef YY_USE_PROTOS
1932 YY_BUFFER_STATE
yy_scan_string( yyconst
char *yy_str
)
1934 YY_BUFFER_STATE
yy_scan_string( yy_str
)
1935 yyconst
char *yy_str
;
1939 for ( len
= 0; yy_str
[len
]; ++len
)
1942 return yy_scan_bytes( yy_str
, len
);
1947 #ifndef YY_NO_SCAN_BYTES
1948 #ifdef YY_USE_PROTOS
1949 YY_BUFFER_STATE
yy_scan_bytes( yyconst
char *bytes
, int len
)
1951 YY_BUFFER_STATE
yy_scan_bytes( bytes
, len
)
1952 yyconst
char *bytes
;
1961 /* Get memory for full buffer, including space for trailing EOB's. */
1963 buf
= (char *) yy_flex_alloc( n
);
1965 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1967 for ( i
= 0; i
< len
; ++i
)
1970 buf
[len
] = buf
[len
+1] = YY_END_OF_BUFFER_CHAR
;
1972 b
= yy_scan_buffer( buf
, n
);
1974 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1976 /* It's okay to grow etc. this buffer, and we should throw it
1977 * away when we're done.
1979 b
->yy_is_our_buffer
= 1;
1986 #ifndef YY_NO_PUSH_STATE
1987 #ifdef YY_USE_PROTOS
1988 static void yy_push_state( int new_state
)
1990 static void yy_push_state( new_state
)
1994 if ( yy_start_stack_ptr
>= yy_start_stack_depth
)
1998 yy_start_stack_depth
+= YY_START_STACK_INCR
;
1999 new_size
= yy_start_stack_depth
* sizeof( int );
2001 if ( ! yy_start_stack
)
2002 yy_start_stack
= (int *) yy_flex_alloc( new_size
);
2005 yy_start_stack
= (int *) yy_flex_realloc(
2006 (void *) yy_start_stack
, new_size
);
2008 if ( ! yy_start_stack
)
2010 "out of memory expanding start-condition stack" );
2013 yy_start_stack
[yy_start_stack_ptr
++] = YY_START
;
2020 #ifndef YY_NO_POP_STATE
2021 static void yy_pop_state()
2023 if ( --yy_start_stack_ptr
< 0 )
2024 YY_FATAL_ERROR( "start-condition stack underflow" );
2026 BEGIN(yy_start_stack
[yy_start_stack_ptr
]);
2031 #ifndef YY_NO_TOP_STATE
2032 static int yy_top_state()
2034 return yy_start_stack
[yy_start_stack_ptr
- 1];
2038 #ifndef YY_EXIT_FAILURE
2039 #define YY_EXIT_FAILURE 2
2042 #ifdef YY_USE_PROTOS
2043 static void yy_fatal_error( yyconst
char msg
[] )
2045 static void yy_fatal_error( msg
)
2049 (void) fprintf( stderr
, "%s\n", msg
);
2050 exit( YY_EXIT_FAILURE
);
2055 /* Internal utility routines. */
2058 #ifdef YY_USE_PROTOS
2059 static void yy_flex_strncpy( char *s1
, yyconst
char *s2
, int n
)
2061 static void yy_flex_strncpy( s1
, s2
, n
)
2068 for ( i
= 0; i
< n
; ++i
)
2073 #ifdef YY_NEED_STRLEN
2074 #ifdef YY_USE_PROTOS
2075 static int yy_flex_strlen( yyconst
char *s
)
2077 static int yy_flex_strlen( s
)
2082 for ( n
= 0; s
[n
]; ++n
)
2090 #ifdef YY_USE_PROTOS
2091 static void *yy_flex_alloc( yy_size_t size
)
2093 static void *yy_flex_alloc( size
)
2097 return (void *) malloc( size
);
2100 #ifdef YY_USE_PROTOS
2101 static void *yy_flex_realloc( void *ptr
, yy_size_t size
)
2103 static void *yy_flex_realloc( ptr
, size
)
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.
2115 return (void *) realloc( (char *) ptr
, size
);
2118 #ifdef YY_USE_PROTOS
2119 static void yy_flex_free( void *ptr
)
2121 static void yy_flex_free( ptr
)
2137 void initFlex(const char *_code
)
2139 yy_switch_to_buffer( yy_scan_string(_code
) );
2144 yy_delete_buffer( YY_CURRENT_BUFFER
);
2149 int token_debug(const char * /*format*/, ...)
2155 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */