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
47 /* Use prototypes in function declarations. */
50 /* The "const" storage-class-modifier is valid. */
61 #define YY_PROTO(proto) proto
63 #define YY_PROTO(proto) ()
66 /* Returned upon end-of-file. */
69 /* Promotes a possibly negative, possibly signed char to an unsigned
70 * integer for use as an array index. If the signed char is negative,
71 * we want to instead treat it as an 8-bit unsigned char, hence the
74 #define YY_SC_TO_UI(c) (static_cast<unsigned int>(static_cast<unsigned char>(c)))
76 /* Translate the current start state into a value that can be later handed
77 * to BEGIN to return to the state.
79 #define YY_START ((yy_start - 1) / 2)
81 /* Action number for EOF rule of a given start state. */
82 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
84 /* Special action meaning "start processing a new file". */
85 #define YY_NEW_FILE yyrestart( yyin )
87 #define YY_END_OF_BUFFER_CHAR 0
89 /* Size of default input buffer. */
90 #define YY_BUF_SIZE 16384
92 typedef struct yy_buffer_state
*YY_BUFFER_STATE
;
94 #define EOB_ACT_CONTINUE_SCAN 0
95 #define EOB_ACT_END_OF_FILE 1
96 #define EOB_ACT_LAST_MATCH 2
98 //#define unput(c) yyunput( c, yytext_ptr )
100 /* The following is because we cannot portably get our hands on size_t
101 * (without autoconf's help, which isn't available because we want
102 * flex-generated scanners to compile on their own).
104 typedef unsigned int yy_size_t
;
107 struct yy_buffer_state
111 char *yy_ch_buf
; /* input buffer */
112 char *yy_buf_pos
; /* current position in input buffer */
114 /* Size of input buffer in bytes, not including room for EOB
117 yy_size_t yy_buf_size
;
119 /* Number of characters read into yy_ch_buf, not including EOB
124 /* Whether we "own" the buffer - i.e., we know we created it,
125 * and can realloc() it to grow it, and should free() it to
128 int yy_is_our_buffer
;
130 /* Whether this is an "interactive" input source; if so, and
131 * if we're using stdio for input, then we want to use getc()
132 * instead of fread(), to make sure we stop fetching input after
135 bool yy_is_interactive
;
137 /* Whether we're considered to be at the beginning of a line.
138 * If so, '^' rules will be active on the next match, otherwise
143 /* Whether to try to fill the input buffer when we reach the
148 int yy_buffer_status
;
149 #define YY_BUFFER_NEW 0
150 #define YY_BUFFER_NORMAL 1
151 /* When an EOF's been seen but there's still some text to process
152 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
153 * shouldn't try reading from the input source any more. We might
154 * still have a bunch of tokens to match, though, because of
155 * possible backing-up.
157 * When we actually see the EOF, we change the status to "new"
158 * (via yyrestart()), so that the user can continue scanning by
159 * just pointing yyin at a new input file.
161 #define YY_BUFFER_EOF_PENDING 2
164 static YY_BUFFER_STATE yy_current_buffer
= nullptr;
166 /* We provide macros for accessing buffer states in case in the
167 * future we want to put the buffer states in a more general
170 #define YY_CURRENT_BUFFER yy_current_buffer
173 /* yy_hold_char holds the character lost when yytext is formed. */
174 static char yy_hold_char
;
176 static int yy_n_chars
; /* number of characters read into yy_ch_buf */
181 /* Points to current character in buffer. */
182 static char *yy_c_buf_p
= nullptr;
183 static int yy_init
= 1; /* whether we need to initialize */
184 static int yy_start
= 0; /* start state number */
186 /* Flag which is used to allow yywrap()'s to do buffer switches
187 * instead of setting up a fresh yyin. A bit of a hack ...
189 static int yy_did_buffer_switch_on_eof
;
191 static void yyrestart
YY_PROTO(( FILE *input_file
));
193 static void yy_switch_to_buffer
YY_PROTO(( YY_BUFFER_STATE new_buffer
));
194 static void yy_load_buffer_state
YY_PROTO(( ));
195 static YY_BUFFER_STATE yy_create_buffer
YY_PROTO(( FILE *file
, int size
));
196 static void yy_delete_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
197 static void yy_init_buffer
YY_PROTO(( YY_BUFFER_STATE b
, FILE *file
));
198 static void yy_flush_buffer
YY_PROTO(( YY_BUFFER_STATE b
));
200 static YY_BUFFER_STATE yy_scan_buffer
YY_PROTO(( char *base
, yy_size_t size
));
201 static YY_BUFFER_STATE yy_scan_string
YY_PROTO(( yyconst
char *yy_str
));
202 static YY_BUFFER_STATE yy_scan_bytes
YY_PROTO(( yyconst
char *bytes
, int len
));
204 static void *yy_flex_alloc
YY_PROTO(( yy_size_t
));
205 static void *yy_flex_realloc
YY_PROTO(( void *, yy_size_t
));
206 static void yy_flex_free
YY_PROTO(( void * ));
208 typedef unsigned char YY_CHAR
;
209 static FILE *yyin
= nullptr, *yyout
= nullptr;
210 typedef int yy_state_type
;
211 #define yytext_ptr yytext
213 static yy_state_type yy_get_previous_state
YY_PROTO(( ));
214 static yy_state_type yy_try_NUL_trans
YY_PROTO(( yy_state_type current_state
));
215 static int yy_get_next_buffer
YY_PROTO(( ));
216 static void yy_fatal_error
YY_PROTO(( yyconst
char msg
[] ));
218 /* Done after the current pattern has been matched and before the
219 * corresponding action - sets up yytext.
221 #define YY_DO_BEFORE_ACTION \
222 yytext_ptr = yy_bp; \
223 yyleng = static_cast<int>(yy_cp - yy_bp); \
224 yy_hold_char = *yy_cp; \
228 #define YY_END_OF_BUFFER 46
229 static yyconst
short int yy_accept
[994] =
231 0, 0, 46, 44, 41, 41, 44, 42, 39, 37,
232 37, 36, 39, 39, 44, 44, 38, 40, 35, 43,
233 13, 21, 36, 36, 22, 16, 17, 0, 34, 0,
234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235 0, 0, 24, 0, 24, 0, 0, 0, 0, 0,
236 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
237 0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
238 0, 0, 0, 0, 0, 0, 4, 31, 5, 43,
239 36, 20, 14, 15, 0, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
242 0, 0, 0, 10, 0, 0, 27, 0, 0, 0,
243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
247 0, 0, 0, 0, 0, 0, 12, 12, 0, 0,
248 0, 0, 0, 0, 0, 12, 0, 0, 0, 0,
249 0, 0, 0, 0, 12, 0, 27, 0, 0, 0,
250 0, 0, 0, 0, 0, 11, 0, 9, 0, 0,
251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
254 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
255 0, 0, 0, 0, 0, 0, 0, 0, 19, 0,
256 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,
257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
260 0, 0, 0, 0, 8, 0, 0, 0, 0, 0,
261 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
262 27, 0, 0, 0, 0, 12, 0, 0, 8, 0,
264 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
265 0, 0, 0, 0, 0, 0, 0, 27, 26, 0,
266 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
270 0, 0, 0, 0, 0, 0, 0, 0, 12, 27,
271 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
272 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
280 0, 11, 0, 0, 0, 0, 0, 0, 8, 0,
281 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
282 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
283 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
286 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
287 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
289 0, 0, 0, 28, 0, 0, 12, 0, 0, 0,
290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
292 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
295 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
297 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
302 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
313 0, 0, 0, 0, 0, 12, 0, 12, 0, 0,
314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
324 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
326 0, 0, 12, 12, 0, 24, 0, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
343 static yyconst
int yy_ec
[256] =
345 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
346 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
347 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
348 1, 1, 4, 1, 1, 1, 1, 5, 1, 6,
349 7, 8, 8, 9, 10, 11, 8, 12, 12, 12,
350 12, 12, 12, 12, 12, 12, 12, 13, 14, 15,
351 16, 17, 1, 1, 18, 19, 20, 21, 22, 1,
352 23, 1, 24, 25, 26, 27, 28, 29, 30, 31,
353 1, 32, 33, 34, 35, 36, 1, 37, 1, 38,
354 39, 40, 41, 42, 42, 1, 43, 44, 45, 46,
356 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
357 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
358 67, 68, 69, 70, 71, 72, 1, 1, 1, 1,
359 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
360 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
361 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
362 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
363 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
364 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
365 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
367 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
368 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
369 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
370 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
371 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
375 static yyconst
int yy_meta
[74] =
377 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
378 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
379 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
380 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
381 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
382 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
383 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
387 static yyconst
short int yy_base
[995] =
389 0, 72, 1314, 1315, 1315, 1315, 1297, 1315, 1315, 1315,
390 1295, 2, 8, 1294, 1281, 142, 1315, 1315, 1315, 1236,
391 1315, 1315, 1296, 8, 1290, 1291, 1288, 1274, 1315, 0,
392 0, 1253, 1, 1, 1259, 7, 1244, 1257, 8, 1236,
393 1235, 1242, 35, 43, 1245, 0, 1237, 1251, 1242, 1245,
394 1315, 46, 72, 171, 79, 62, 77, 184, 192, 92,
395 1236, 2, 207, 216, 225, 234, 250, 46, 269, 278,
396 295, 10, 111, 255, 10, 1243, 1315, 1315, 1315, 1216,
397 1276, 1315, 1315, 1315, 1253, 1228, 1225, 1222, 1217, 1231,
398 1227, 1237, 1214, 1217, 1234, 1221, 1315, 1213, 1223, 1215,
400 1217, 1223, 1214, 1315, 168, 1218, 1315, 1217, 1210, 1217,
401 1216, 1201, 1216, 177, 1202, 1199, 1197, 34, 1216, 1209,
402 1199, 181, 36, 164, 198, 1207, 119, 199, 1201, 1196,
403 1196, 218, 1192, 1188, 225, 1205, 1191, 78, 40, 245,
404 280, 1197, 175, 1184, 1192, 1187, 1198, 1182, 1179, 1198,
405 101, 1197, 1179, 227, 1183, 1191, 1177, 1315, 1192, 1172,
406 1190, 1189, 53, 1184, 1187, 260, 1167, 1171, 1184, 1168,
407 1165, 248, 1177, 1166, 291, 1168, 1161, 1174, 1164, 1161,
408 222, 268, 1160, 0, 1170, 1315, 1172, 1315, 247, 299,
409 1152, 1170, 1155, 1155, 300, 1156, 1155, 1157, 1160, 1146,
411 1145, 1153, 302, 1152, 1139, 1158, 1144, 1152, 1147, 1143,
412 1136, 308, 1146, 1137, 1150, 1136, 317, 1148, 308, 318,
413 1147, 311, 1146, 322, 1145, 312, 1140, 319, 1128, 1134,
414 324, 340, 1124, 333, 340, 1137, 1136, 1121, 1118, 1315,
415 1129, 1121, 1134, 1114, 1120, 1118, 1122, 1117, 1128, 1114,
416 1111, 1124, 1105, 1117, 1116, 1119, 1113, 1107, 1099, 1100,
417 1102, 1107, 344, 1114, 1094, 1097, 1104, 1099, 327, 1092,
418 347, 1094, 1095, 1096, 1315, 1105, 1096, 1103, 350, 1083,
419 1099, 1079, 1088, 1079, 1095, 1094, 1094, 1088, 1076, 1085,
420 1084, 1084, 1082, 1082, 1068, 1067, 1073, 1071, 1079, 1069,
422 1069, 1061, 1315, 1071, 1070, 1059, 1057, 1075, 1072, 1051,
423 1060, 1050, 1053, 1052, 1058, 1054, 348, 1047, 1315, 1065,
424 1045, 1048, 1061, 1055, 1052, 1040, 1039, 1043, 1042, 338,
425 1035, 1048, 1035, 1048, 1038, 1039, 1029, 1031, 276, 1030,
426 1027, 1026, 1038, 371, 1023, 1042, 1029, 1023, 355, 1024,
427 1036, 1025, 372, 1036, 1032, 1028, 1025, 1020, 1017, 1016,
428 1022, 1008, 1014, 1020, 1008, 1012, 1006, 1010, 1017, 1013,
429 1008, 1007, 1014, 360, 997, 995, 997, 995, 1010, 372,
430 1008, 993, 1002, 156, 1005, 1003, 1006, 1001, 997, 996,
431 985, 987, 980, 991, 374, 980, 978, 977, 989, 990,
433 993, 992, 969, 990, 975, 988, 976, 986, 985, 981,
434 379, 191, 983, 965, 962, 980, 979, 961, 955, 965,
435 960, 374, 967, 965, 965, 967, 963, 969, 962, 963,
436 947, 951, 950, 955, 962, 939, 945, 941, 938, 944,
437 377, 383, 940, 938, 939, 949, 948, 943, 946, 945,
438 944, 929, 936, 927, 930, 939, 921, 935, 922, 939,
439 924, 933, 920, 935, 910, 922, 911, 912, 919, 1315,
440 916, 928, 923, 907, 388, 906, 920, 916, 898, 914,
441 920, 916, 907, 906, 898, 400, 901, 894, 900, 892,
442 893, 392, 891, 898, 902, 907, 889, 888, 891, 895,
444 885, 901, 883, 879, 880, 879, 892, 405, 884, 886,
445 889, 888, 872, 887, 878, 877, 887, 872, 865, 865,
446 865, 876, 870, 863, 871, 863, 877, 860, 864, 870,
447 869, 857, 856, 1315, 400, 866, 865, 851, 863, 849,
448 861, 864, 859, 844, 848, 843, 856, 855, 840, 834,
449 837, 843, 838, 403, 845, 843, 843, 834, 841, 829,
450 1315, 842, 401, 824, 831, 826, 828, 841, 823, 831,
451 834, 829, 822, 835, 820, 820, 818, 813, 822, 815,
452 822, 823, 809, 802, 806, 810, 809, 800, 809, 801,
453 1315, 803, 800, 801, 404, 807, 803, 805, 810, 803,
455 799, 805, 805, 803, 785, 786, 1315, 784, 800, 785,
456 797, 787, 782, 780, 783, 778, 784, 776, 789, 784,
457 783, 790, 785, 771, 787, 778, 768, 769, 778, 767,
458 762, 776, 779, 770, 763, 758, 764, 774, 759, 93,
459 126, 187, 225, 269, 333, 415, 345, 372, 388, 397,
460 400, 417, 418, 408, 411, 427, 409, 418, 426, 417,
461 419, 415, 417, 418, 419, 419, 423, 422, 422, 428,
462 438, 438, 444, 432, 434, 434, 431, 442, 437, 446,
463 449, 436, 456, 449, 454, 456, 443, 448, 445, 457,
464 459, 459, 453, 450, 446, 469, 457, 463, 460, 454,
466 460, 471, 476, 473, 476, 458, 461, 468, 462, 471,
467 484, 485, 466, 481, 484, 481, 473, 488, 475, 489,
468 481, 475, 491, 491, 496, 482, 483, 495, 1315, 502,
469 498, 490, 500, 503, 497, 487, 488, 498, 512, 508,
470 501, 509, 512, 506, 514, 502, 520, 521, 518, 501,
471 504, 505, 506, 523, 524, 525, 526, 527, 510, 519,
472 523, 518, 528, 515, 538, 526, 532, 529, 523, 535,
473 525, 534, 529, 533, 534, 542, 531, 544, 535, 536,
474 543, 555, 556, 545, 541, 541, 540, 543, 558, 548,
475 549, 552, 548, 563, 551, 550, 552, 557, 553, 565,
477 555, 568, 576, 563, 563, 572, 578, 562, 564, 576,
478 582, 566, 582, 580, 577, 572, 573, 589, 574, 581,
479 586, 576, 577, 581, 579, 583, 583, 597, 602, 590,
480 587, 594, 606, 607, 597, 1315, 606, 591, 589, 590,
481 594, 614, 596, 602, 600, 604, 600, 613, 603, 604,
482 617, 605, 605, 604, 608, 628, 610, 619, 610, 619,
483 615, 628, 636, 618, 619, 635, 640, 622, 628, 628,
484 637, 626, 642, 643, 644, 646, 648, 647, 635, 640,
485 641, 652, 658, 642, 652, 661, 640, 650, 652, 655,
486 659, 651, 669, 656, 671, 668, 656, 666, 661, 676,
488 660, 678, 657, 666, 677, 666, 667, 680, 677, 682,
489 673, 675, 676, 673, 674, 686, 676, 672, 691, 677,
490 680, 681, 686, 683, 684, 696, 686, 687, 688, 692,
491 702, 702, 687, 693, 697, 705, 696, 711, 701, 699,
492 714, 701, 705, 713, 704, 708, 706, 711, 706, 719,
493 713, 706, 710, 716, 718, 718, 713, 722, 723, 723,
494 725, 718, 722, 728, 721, 730, 742, 727, 725, 748,
495 727, 728, 729, 730, 731, 754, 733, 734, 743, 743,
496 742, 747, 748, 746, 742, 748, 749, 754, 754, 755,
501 static yyconst
short int yy_def
[995] =
503 994, 994, 993, 993, 993, 993, 993, 993, 993, 993,
504 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
505 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
506 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
507 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
508 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
509 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
510 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
511 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
512 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
514 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
515 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
516 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
517 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
518 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
519 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
520 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
521 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
522 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
523 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
525 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
526 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
527 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
528 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
529 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
530 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
531 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
532 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
533 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
534 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
536 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
537 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
538 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
539 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
540 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
541 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
542 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
543 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
544 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
545 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
547 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
548 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
549 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
550 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
551 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
552 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
553 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
554 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
555 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
556 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
558 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
559 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
560 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
561 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
562 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
563 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
564 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
565 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
566 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
567 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
569 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
570 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
571 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
572 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
573 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
574 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
575 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
576 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
577 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
578 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
580 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
581 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
582 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
583 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
584 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
585 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
586 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
587 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
588 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
589 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
591 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
592 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
593 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
594 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
595 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
596 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
597 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
598 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
599 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
600 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
602 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
603 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
604 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
605 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
606 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
607 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
608 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
609 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
610 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
615 static yyconst
short int yy_nxt
[1389] =
617 993, 5, 6, 7, 8, 9, 9, 10, 993, 11,
618 993, 12, 23, 24, 13, 10, 14, 25, 23, 24,
619 993, 993, 26, 993, 993, 993, 15, 993, 993, 993,
620 993, 993, 993, 993, 993, 993, 993, 993, 9, 16,
621 9, 17, 112, 993, 170, 158, 88, 91, 171, 113,
622 101, 92, 993, 86, 102, 107, 89, 93, 94, 87,
623 188, 97, 95, 98, 103, 231, 238, 232, 9, 18,
624 9, 19, 20, 5, 6, 7, 8, 9, 9, 10,
625 266, 11, 294, 12, 106, 104, 13, 10, 14, 97,
626 117, 267, 109, 110, 107, 108, 295, 186, 15, 118,
628 119, 120, 273, 121, 205, 122, 123, 107, 206, 315,
629 9, 16, 9, 17, 124, 145, 146, 147, 125, 148,
630 149, 138, 126, 150, 139, 140, 292, 151, 127, 141,
631 152, 128, 142, 153, 129, 143, 154, 164, 293, 144,
632 9, 18, 9, 19, 20, 29, 165, 166, 167, 737,
633 29, 306, 168, 233, 29, 29, 234, 235, 107, 30,
634 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
635 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
636 97, 51, 738, 280, 52, 53, 54, 55, 56, 57,
637 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
639 68, 69, 70, 71, 72, 73, 74, 75, 274, 76,
640 77, 78, 79, 130, 255, 541, 131, 542, 256, 260,
641 132, 133, 261, 275, 134, 271, 155, 135, 156, 107,
642 157, 136, 158, 137, 160, 161, 299, 262, 162, 300,
643 272, 281, 276, 159, 571, 282, 277, 186, 163, 172,
644 572, 173, 174, 175, 176, 177, 178, 179, 182, 278,
645 158, 180, 107, 181, 285, 183, 184, 189, 188, 309,
646 107, 190, 185, 186, 186, 158, 187, 332, 188, 193,
647 288, 191, 289, 310, 194, 290, 291, 188, 195, 192,
648 336, 196, 200, 107, 197, 198, 201, 199, 296, 202,
650 188, 236, 323, 324, 186, 237, 107, 318, 337, 203,
651 204, 207, 97, 208, 186, 209, 210, 211, 212, 213,
652 216, 319, 297, 214, 217, 333, 499, 218, 219, 186,
653 215, 500, 220, 107, 107, 221, 222, 226, 327, 223,
654 224, 338, 225, 186, 227, 228, 343, 97, 351, 158,
655 344, 229, 352, 186, 230, 374, 368, 158, 353, 365,
656 371, 107, 369, 370, 188, 378, 379, 383, 372, 388,
657 375, 376, 385, 386, 188, 396, 319, 389, 366, 380,
658 430, 381, 391, 390, 275, 392, 186, 431, 489, 397,
659 421, 433, 739, 393, 441, 742, 477, 509, 490, 398,
661 394, 422, 532, 423, 424, 425, 442, 434, 435, 478,
662 443, 444, 445, 446, 447, 503, 510, 319, 538, 592,
663 553, 569, 533, 579, 104, 743, 504, 593, 595, 513,
664 744, 554, 539, 555, 556, 557, 558, 596, 570, 594,
665 597, 619, 624, 664, 598, 632, 633, 620, 645, 625,
666 683, 634, 678, 188, 706, 158, 158, 665, 646, 626,
667 707, 740, 684, 79, 647, 741, 745, 79, 729, 746,
668 748, 749, 97, 750, 751, 752, 747, 753, 754, 755,
669 756, 158, 757, 758, 759, 760, 761, 762, 764, 765,
670 766, 767, 188, 188, 768, 769, 770, 763, 771, 772,
672 773, 97, 774, 104, 775, 776, 777, 778, 104, 779,
673 561, 780, 104, 781, 782, 783, 784, 785, 786, 158,
674 186, 319, 319, 787, 788, 789, 790, 792, 793, 794,
675 795, 796, 186, 797, 798, 799, 188, 800, 801, 802,
676 803, 804, 805, 806, 807, 808, 791, 809, 810, 97,
677 97, 561, 561, 188, 811, 812, 813, 814, 815, 97,
678 158, 816, 817, 818, 97, 561, 819, 820, 821, 822,
679 823, 824, 825, 826, 561, 827, 828, 829, 830, 561,
680 831, 188, 832, 833, 834, 835, 836, 837, 838, 839,
681 840, 841, 842, 843, 844, 845, 846, 104, 104, 97,
683 847, 848, 849, 319, 850, 319, 319, 851, 319, 319,
684 852, 97, 853, 854, 97, 855, 856, 857, 858, 859,
685 860, 861, 862, 863, 864, 865, 866, 867, 836, 868,
686 158, 869, 870, 871, 186, 319, 872, 873, 874, 158,
687 158, 158, 875, 876, 877, 878, 879, 880, 188, 188,
688 881, 882, 729, 561, 561, 883, 884, 886, 887, 888,
689 889, 729, 78, 319, 319, 890, 729, 891, 561, 97,
690 892, 893, 158, 885, 561, 894, 895, 896, 897, 899,
691 900, 836, 901, 902, 903, 904, 905, 97, 906, 907,
692 158, 97, 910, 836, 911, 898, 912, 913, 836, 908,
694 914, 915, 916, 917, 561, 909, 918, 104, 919, 920,
695 921, 922, 923, 924, 729, 925, 926, 561, 927, 928,
696 929, 561, 930, 729, 158, 158, 931, 932, 836, 933,
697 188, 188, 934, 935, 936, 937, 561, 938, 97, 939,
698 940, 941, 942, 943, 944, 945, 946, 947, 948, 949,
699 950, 561, 951, 952, 953, 954, 955, 957, 958, 959,
700 961, 962, 963, 964, 965, 966, 967, 186, 968, 969,
701 561, 970, 971, 956, 972, 186, 960, 561, 973, 974,
702 561, 975, 561, 976, 977, 836, 978, 979, 186, 561,
703 981, 561, 982, 561, 983, 561, 984, 561, 836, 985,
705 561, 986, 186, 561, 980, 987, 988, 989, 990, 561,
706 991, 992, 561, 561, 4, 736, 735, 734, 158, 561,
707 733, 732, 731, 730, 107, 107, 729, 77, 728, 727,
708 726, 77, 188, 725, 724, 723, 722, 97, 97, 721,
709 720, 719, 718, 717, 186, 319, 716, 186, 715, 158,
710 714, 319, 713, 712, 711, 710, 709, 708, 319, 705,
711 319, 704, 703, 702, 107, 107, 107, 158, 701, 700,
712 699, 104, 104, 698, 697, 696, 695, 694, 693, 692,
713 691, 690, 689, 104, 688, 687, 686, 685, 186, 607,
714 158, 682, 681, 680, 679, 677, 676, 186, 675, 674,
716 186, 186, 673, 672, 186, 275, 188, 671, 670, 669,
717 668, 667, 666, 186, 186, 663, 158, 662, 158, 188,
718 97, 661, 660, 659, 658, 657, 656, 655, 654, 653,
719 79, 652, 29, 651, 97, 650, 649, 648, 644, 643,
720 186, 642, 641, 188, 640, 158, 158, 639, 638, 97,
721 637, 636, 635, 631, 630, 629, 628, 627, 607, 77,
722 623, 622, 188, 97, 607, 97, 158, 621, 618, 275,
723 188, 158, 617, 616, 158, 615, 614, 613, 158, 561,
724 612, 188, 607, 611, 158, 610, 609, 608, 275, 607,
725 606, 275, 605, 604, 603, 602, 601, 600, 599, 591,
727 590, 589, 158, 588, 587, 586, 585, 584, 583, 97,
728 186, 188, 97, 275, 582, 581, 580, 578, 577, 576,
729 575, 104, 104, 574, 573, 104, 568, 104, 104, 567,
730 566, 565, 104, 564, 104, 188, 563, 562, 561, 560,
731 559, 552, 551, 550, 549, 548, 547, 546, 545, 544,
732 543, 107, 540, 97, 537, 536, 186, 535, 534, 531,
733 530, 529, 107, 528, 527, 526, 525, 524, 523, 522,
734 521, 520, 519, 518, 517, 516, 515, 29, 514, 512,
735 511, 158, 508, 507, 506, 505, 502, 319, 186, 501,
736 498, 497, 496, 495, 494, 493, 492, 491, 488, 487,
738 486, 485, 484, 483, 482, 481, 480, 188, 479, 476,
739 475, 474, 97, 473, 472, 471, 470, 469, 97, 468,
740 467, 466, 465, 186, 464, 463, 462, 461, 460, 459,
741 458, 457, 456, 107, 107, 455, 158, 454, 186, 453,
742 452, 451, 450, 449, 448, 188, 440, 439, 438, 437,
743 436, 432, 429, 428, 427, 426, 104, 420, 419, 418,
744 417, 416, 415, 414, 413, 412, 411, 410, 409, 158,
745 104, 408, 407, 406, 405, 404, 104, 403, 402, 401,
746 158, 400, 399, 395, 387, 97, 384, 382, 377, 373,
747 367, 364, 363, 362, 361, 360, 359, 358, 357, 356,
749 355, 354, 188, 188, 350, 349, 348, 347, 346, 345,
750 342, 341, 340, 339, 335, 334, 97, 331, 330, 186,
751 329, 328, 326, 325, 107, 322, 321, 158, 320, 317,
752 316, 314, 313, 275, 312, 158, 107, 311, 308, 307,
753 188, 305, 304, 303, 302, 97, 301, 298, 186, 107,
754 287, 286, 284, 186, 283, 279, 270, 269, 268, 265,
755 264, 263, 259, 104, 258, 257, 104, 104, 104, 254,
756 253, 252, 251, 250, 249, 248, 104, 247, 246, 245,
757 244, 104, 97, 243, 242, 241, 240, 81, 80, 239,
758 169, 116, 104, 115, 114, 111, 105, 104, 104, 100,
760 99, 96, 90, 85, 84, 83, 82, 81, 80, 28,
761 27, 22, 21, 993, 3, 993, 993, 993, 993, 993,
762 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
763 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
764 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
765 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
766 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
767 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
768 993, 993, 993, 993, 993, 993, 993, 993
771 static yyconst
short int yy_chk
[1389] =
773 0, 1, 1, 1, 1, 1, 1, 1, 0, 1,
774 0, 1, 12, 12, 1, 1, 1, 13, 24, 24,
775 0, 0, 13, 0, 0, 0, 1, 0, 0, 0,
776 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
777 1, 1, 46, 0, 62, 184, 31, 33, 62, 46,
778 39, 33, 0, 30, 39, 184, 31, 33, 34, 30,
779 75, 36, 34, 36, 39, 72, 75, 72, 1, 1,
780 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
781 118, 2, 139, 2, 43, 43, 2, 2, 2, 44,
782 52, 118, 44, 44, 43, 43, 139, 123, 2, 52,
784 52, 52, 123, 52, 68, 52, 52, 163, 68, 163,
785 2, 2, 2, 2, 53, 56, 56, 56, 53, 56,
786 56, 55, 53, 56, 55, 55, 138, 56, 53, 55,
787 57, 53, 55, 57, 53, 55, 57, 60, 138, 55,
788 2, 2, 2, 2, 2, 16, 60, 60, 60, 640,
789 16, 151, 60, 73, 16, 16, 73, 73, 151, 16,
790 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
791 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
792 127, 16, 641, 127, 16, 16, 16, 16, 16, 16,
793 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
795 16, 16, 16, 16, 16, 16, 16, 16, 124, 16,
796 16, 16, 16, 54, 105, 384, 54, 384, 105, 114,
797 54, 54, 114, 124, 54, 122, 58, 54, 58, 122,
798 58, 54, 58, 54, 59, 59, 143, 114, 59, 143,
799 122, 128, 125, 58, 412, 128, 125, 642, 59, 63,
800 412, 63, 63, 63, 63, 63, 63, 63, 64, 125,
801 63, 63, 63, 63, 132, 64, 64, 65, 132, 154,
802 181, 65, 64, 64, 643, 65, 64, 181, 64, 66,
803 135, 65, 135, 154, 66, 135, 135, 65, 66, 65,
804 189, 66, 67, 140, 66, 66, 67, 66, 140, 67,
806 67, 74, 172, 172, 67, 74, 140, 166, 189, 67,
807 67, 69, 74, 69, 74, 69, 69, 69, 69, 69,
808 70, 166, 141, 69, 70, 182, 339, 70, 70, 644,
809 69, 339, 70, 182, 141, 70, 70, 71, 175, 70,
810 70, 190, 70, 141, 71, 71, 195, 190, 203, 175,
811 195, 71, 203, 212, 71, 222, 219, 190, 203, 217,
812 220, 217, 219, 219, 212, 224, 224, 226, 220, 231,
813 222, 222, 228, 228, 226, 234, 224, 231, 217, 224,
814 269, 224, 232, 231, 235, 232, 235, 269, 330, 234,
815 263, 271, 645, 232, 279, 647, 317, 349, 330, 235,
817 232, 263, 374, 263, 263, 263, 279, 271, 271, 317,
818 279, 279, 279, 279, 279, 344, 349, 353, 380, 441,
819 395, 411, 374, 422, 422, 648, 344, 441, 442, 353,
820 649, 395, 380, 395, 395, 395, 395, 442, 411, 441,
821 442, 475, 486, 535, 442, 492, 492, 475, 508, 486,
822 563, 492, 554, 554, 595, 650, 651, 535, 508, 486,
823 595, 646, 563, 652, 508, 646, 653, 654, 655, 656,
824 657, 658, 659, 660, 661, 662, 656, 663, 664, 665,
825 666, 667, 668, 669, 670, 671, 672, 673, 674, 675,
826 676, 677, 678, 679, 680, 681, 682, 673, 683, 684,
828 685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
829 695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
830 705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
831 715, 716, 717, 718, 719, 720, 721, 722, 723, 724,
832 725, 726, 727, 728, 730, 731, 711, 732, 733, 734,
833 735, 736, 737, 738, 739, 740, 741, 742, 743, 744,
834 745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
835 755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
836 765, 766, 767, 768, 769, 770, 771, 772, 773, 774,
837 775, 776, 777, 778, 779, 780, 781, 782, 783, 784,
839 785, 786, 787, 788, 789, 790, 791, 792, 793, 794,
840 795, 796, 797, 798, 799, 800, 801, 802, 803, 804,
841 805, 806, 807, 808, 809, 810, 811, 812, 813, 814,
842 815, 816, 817, 818, 819, 820, 821, 822, 823, 824,
843 825, 826, 827, 828, 829, 830, 831, 832, 833, 834,
844 835, 837, 838, 839, 840, 841, 842, 843, 844, 845,
845 846, 847, 848, 849, 850, 851, 852, 853, 854, 855,
846 856, 857, 858, 842, 859, 860, 861, 862, 863, 864,
847 865, 866, 867, 868, 869, 870, 871, 872, 873, 874,
848 875, 876, 877, 878, 879, 863, 880, 881, 882, 876,
850 883, 884, 885, 886, 887, 876, 888, 889, 890, 891,
851 892, 893, 894, 895, 896, 897, 898, 899, 900, 901,
852 902, 903, 904, 905, 906, 907, 908, 909, 910, 911,
853 912, 913, 914, 915, 916, 917, 918, 919, 920, 921,
854 922, 923, 924, 925, 926, 927, 928, 929, 930, 931,
855 932, 933, 934, 935, 936, 937, 938, 939, 940, 941,
856 942, 943, 944, 945, 946, 947, 948, 949, 950, 951,
857 952, 953, 954, 938, 955, 956, 941, 957, 958, 959,
858 960, 961, 962, 963, 964, 965, 966, 967, 968, 969,
859 970, 971, 972, 973, 974, 975, 976, 977, 978, 979,
861 980, 981, 982, 983, 967, 984, 985, 986, 987, 988,
862 989, 990, 991, 992, 994, 639, 638, 637, 636, 635,
863 634, 633, 632, 631, 630, 629, 628, 627, 626, 625,
864 624, 623, 622, 621, 620, 619, 618, 617, 616, 615,
865 614, 613, 612, 611, 610, 609, 608, 606, 605, 604,
866 603, 602, 601, 600, 599, 598, 597, 596, 594, 593,
867 592, 590, 589, 588, 587, 586, 585, 584, 583, 582,
868 581, 580, 579, 578, 577, 576, 575, 574, 573, 572,
869 571, 570, 569, 568, 567, 566, 565, 564, 562, 560,
870 559, 558, 557, 556, 555, 553, 552, 551, 550, 549,
872 548, 547, 546, 545, 544, 543, 542, 541, 540, 539,
873 538, 537, 536, 533, 532, 531, 530, 529, 528, 527,
874 526, 525, 524, 523, 522, 521, 520, 519, 518, 517,
875 516, 515, 514, 513, 512, 511, 510, 509, 507, 506,
876 505, 504, 503, 502, 501, 500, 499, 498, 497, 496,
877 495, 494, 493, 491, 490, 489, 488, 487, 485, 484,
878 483, 482, 481, 480, 479, 478, 477, 476, 474, 473,
879 472, 471, 469, 468, 467, 466, 465, 464, 463, 462,
880 461, 460, 459, 458, 457, 456, 455, 454, 453, 452,
881 451, 450, 449, 448, 447, 446, 445, 444, 443, 440,
883 439, 438, 437, 436, 435, 434, 433, 432, 431, 430,
884 429, 428, 427, 426, 425, 424, 423, 421, 420, 419,
885 418, 417, 416, 415, 414, 413, 410, 409, 408, 407,
886 406, 405, 404, 403, 402, 401, 400, 399, 398, 397,
887 396, 394, 393, 392, 391, 390, 389, 388, 387, 386,
888 385, 383, 382, 381, 379, 378, 377, 376, 375, 373,
889 372, 371, 370, 369, 368, 367, 366, 365, 364, 363,
890 362, 361, 360, 359, 358, 357, 356, 355, 354, 352,
891 351, 350, 348, 347, 346, 345, 343, 342, 341, 340,
892 338, 337, 336, 335, 334, 333, 332, 331, 329, 328,
894 327, 326, 325, 324, 323, 322, 321, 320, 318, 316,
895 315, 314, 313, 312, 311, 310, 309, 308, 307, 306,
896 305, 304, 302, 301, 300, 299, 298, 297, 296, 295,
897 294, 293, 292, 291, 290, 289, 288, 287, 286, 285,
898 284, 283, 282, 281, 280, 278, 277, 276, 274, 273,
899 272, 270, 268, 267, 266, 265, 264, 262, 261, 260,
900 259, 258, 257, 256, 255, 254, 253, 252, 251, 250,
901 249, 248, 247, 246, 245, 244, 243, 242, 241, 239,
902 238, 237, 236, 233, 230, 229, 227, 225, 223, 221,
903 218, 216, 215, 214, 213, 211, 210, 209, 208, 207,
905 206, 205, 204, 202, 201, 200, 199, 198, 197, 196,
906 194, 193, 192, 191, 187, 185, 183, 180, 179, 178,
907 177, 176, 174, 173, 171, 170, 169, 168, 167, 165,
908 164, 162, 161, 160, 159, 157, 156, 155, 153, 152,
909 150, 149, 148, 147, 146, 145, 144, 142, 137, 136,
910 134, 133, 131, 130, 129, 126, 121, 120, 119, 117,
911 116, 115, 113, 112, 111, 110, 109, 108, 106, 103,
912 102, 101, 100, 99, 98, 96, 95, 94, 93, 92,
913 91, 90, 89, 88, 87, 86, 85, 81, 80, 76,
914 61, 50, 49, 48, 47, 45, 42, 41, 40, 38,
916 37, 35, 32, 28, 27, 26, 25, 23, 20, 15,
917 14, 11, 7, 3, 993, 993, 993, 993, 993, 993,
918 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
919 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
920 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
921 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
922 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
923 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
924 993, 993, 993, 993, 993, 993, 993, 993
927 static yy_state_type yy_last_accepting_state
;
928 static char *yy_last_accepting_cpos
;
930 #define YY_MORE_ADJ 0
931 #define YY_RESTORE_YY_MORE_OFFSET
938 #define strdup _strdup
939 #define fileno _fileno
940 #define isatty _isatty
949 #define token_debug printf
951 static int token_debug(const char *format
, ...);
954 /* Macros after this point can all be overridden by user definitions in
959 //static void yyunput YY_PROTO(( int c, char *buf_ptr ));
963 static void yy_flex_strncpy
YY_PROTO(( char *, yyconst
char *, int ));
966 #ifdef YY_NEED_STRLEN
967 static int yy_flex_strlen
YY_PROTO(( yyconst
char * ));
971 static int yy_start_stack_ptr
= 0;
972 static int yy_start_stack_depth
= 0;
973 static int *yy_start_stack
= 0;
974 #ifndef YY_NO_PUSH_STATE
975 static void yy_push_state
YY_PROTO(( int new_state
));
977 #ifndef YY_NO_POP_STATE
978 static void yy_pop_state
YY_PROTO(( void ));
980 #ifndef YY_NO_TOP_STATE
981 static int yy_top_state
YY_PROTO(( void ));
985 #define YY_NO_PUSH_STATE 1
986 #define YY_NO_POP_STATE 1
987 #define YY_NO_TOP_STATE 1
990 #ifdef YY_MALLOC_DECL
993 #if !(defined __STDC__ && __STDC__)
994 /* Just try to get by without declaring the routines. This will fail
995 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
996 * or sizeof(void*) != sizeof(int).
1001 #include "lexer.hxx"
1003 /* Amount of stuff to slurp up with each read. */
1004 #ifndef YY_READ_BUF_SIZE
1005 #define YY_READ_BUF_SIZE 8192
1008 /* Copy whatever the last rule matched to the standard output. */
1011 /* This used to be an fputs(), but since the string might contain NUL's,
1012 * we now use fwrite().
1014 #define ECHO do { fwrite( yytext, yyleng, 1, yyout ); } while (false)
1017 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1018 * is returned in "result".
1021 #define YY_INPUT(buf,result,max_size) \
1022 if ( yy_current_buffer->yy_is_interactive ) \
1025 for ( n = 0; n < max_size && \
1026 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1027 buf[n] = static_cast<char>(c); \
1029 buf[n++] = static_cast<char>(c); \
1030 if ( c == EOF && ferror( yyin ) ) \
1031 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1034 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1035 && ferror( yyin ) ) \
1036 YY_FATAL_ERROR( "input in flex scanner failed" );
1039 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1040 * we don't want an extra ';' after the "return" because that will cause
1041 * some compilers to complain about unreachable statements.
1044 #define yyterminate() return YY_NULL
1047 /* Report a fatal error. */
1048 #ifndef YY_FATAL_ERROR
1049 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1052 /* Default declaration of generated scanner - a define so the user can
1053 * easily add parameters.
1056 #define YY_DECL int yylex YY_PROTO(( void ))
1059 /* Code executed at the beginning of each rule, after yytext and yyleng
1062 #ifndef YY_USER_ACTION
1063 #define YY_USER_ACTION
1066 /* Code executed at the end of each rule. */
1068 #define YY_BREAK break;
1071 #define YY_RULE_SETUP \
1076 yy_state_type yy_current_state
;
1077 char *yy_cp
, *yy_bp
;
1089 yy_start
= 1; /* first start state */
1097 if ( ! yy_current_buffer
)
1099 yy_create_buffer( yyin
, YY_BUF_SIZE
);
1101 yy_load_buffer_state();
1104 while ( true ) /* loops until end-of-file is reached */
1108 /* Support of yytext. */
1109 *yy_cp
= yy_hold_char
;
1111 /* yy_bp points to the position in yy_ch_buf of the start of
1116 yy_current_state
= yy_start
;
1120 YY_CHAR yy_c
= sal::static_int_cast
<YY_CHAR
>(yy_ec
[YY_SC_TO_UI(*yy_cp
)]);
1121 if ( yy_accept
[yy_current_state
] )
1123 yy_last_accepting_state
= yy_current_state
;
1124 yy_last_accepting_cpos
= yy_cp
;
1126 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1128 yy_current_state
= static_cast<int>(yy_def
[yy_current_state
]);
1129 if ( yy_current_state
>= 994 )
1130 yy_c
= sal::static_int_cast
<YY_CHAR
>(yy_meta
[static_cast<unsigned int>(yy_c
)]);
1132 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + static_cast<unsigned int>(yy_c
)];
1135 while ( yy_base
[yy_current_state
] != 1315 );
1138 yy_act
= yy_accept
[yy_current_state
];
1140 { /* have to back up */
1141 yy_cp
= yy_last_accepting_cpos
;
1142 yy_current_state
= yy_last_accepting_state
;
1143 yy_act
= yy_accept
[yy_current_state
];
1146 YY_DO_BEFORE_ACTION
;
1149 do_action
: /* This label is used only to access EOF actions. */
1153 { /* beginning of action switch */
1154 case 0: /* must back up */
1155 /* undo the effects of YY_DO_BEFORE_ACTION */
1156 *yy_cp
= yy_hold_char
;
1157 yy_cp
= yy_last_accepting_cpos
;
1158 yy_current_state
= yy_last_accepting_state
;
1159 goto yy_find_action
;
1163 { yylval
.str
= yytext
+1; token_debug(" ==>Begin[%s]\n",yytext
+1); return EQBEGIN
; }
1167 { yylval
.str
= yytext
+1; token_debug(" ==>End[%s]\n",yytext
+1); return EQEND
; }
1171 { yylval
.str
= yytext
+1; token_debug(" ==>Left[%s]\n",yytext
+1); return EQLEFT
; }
1175 { yylval
.str
= yytext
+1; token_debug(" ==>LeftDelim[%s]\n",yytext
+1); return LEFT_DELIM
; }
1179 { yylval
.str
= yytext
+1; token_debug(" ==>RightDelim[%s]\n",yytext
+1); return RIGHT_DELIM
; }
1183 { yylval
.str
= yytext
+1; token_debug(" ==>Right[%s]\n",yytext
+1); return EQRIGHT
; }
1187 { yylval
.str
= yytext
; token_debug(" ==>NewLine[%s]\n",yytext
); return NEWLINE
; }
1191 { yylval
.str
= yytext
+1; token_debug(" ==>Accent[%s]\n",yytext
+1); return ACCENT
; }
1195 { yylval
.str
= yytext
+1; token_debug(" ==>Small_Greek[%s]\n",yytext
+1); return SMALL_GREEK
; }
1199 { yylval
.str
= yytext
+1; token_debug(" ==>Capital_Greek[%s]\n",yytext
+1); return CAPITAL_GREEK
; }
1203 { yylval
.str
= yytext
+1; token_debug(" ==>Binary_Operator[%s]\n",yytext
+1); return BINARY_OPERATOR
; }
1207 { yylval
.str
= yytext
+1; token_debug(" ==>Relation_Symbol[%s]\n",yytext
+1); return RELATION_OPERATOR
; }
1211 { yylval
.str
= strdup("neq"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1215 { yylval
.str
= strdup("vmlt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1219 { yylval
.str
= strdup("vmgt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1223 { yylval
.str
= strdup("mlt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1227 { yylval
.str
= strdup("mgt"); token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1231 { yylval
.str
= yytext
; token_debug(" ==>Relation_Symbol[neq]\n"); return RELATION_OPERATOR
; }
1235 { yylval
.str
= yytext
+1; token_debug(" ==>Arrow[%s]\n",yytext
+1); return ARROW
; }
1239 { yylval
.str
= strdup("leftrightarrow"); token_debug(" ==>Arrow[leftrightarrow]\n"); return ARROW
; }
1243 { yylval
.str
= strdup("rightarrow"); token_debug(" ==>Arrow[rightarrow]\n"); return ARROW
; }
1247 { yylval
.str
= strdup("leftarrow"); token_debug(" ==>Arrow[leftarrow]\n"); return ARROW
; }
1252 { token_debug(" ==>Ignore[\\rm]\n"); }
1257 { yylval
.str
= yytext
+1; token_debug(" ==>General_Iden[%s]\n",yytext
+1); return GENERAL_IDEN
; }
1261 { yylval
.str
= yytext
+1; token_debug(" ==>General_Oper[%s]\n",yytext
+1); return GENERAL_OPER
; }
1265 { yylval
.str
= yytext
+1; token_debug(" ==>Big_Symbol[%s]\n",yytext
+1); return BIG_SYMBOL
; }
1269 { yylval
.str
= yytext
+1; token_debug(" ==>Function[%s]\n",yytext
+1); return FUNCTION
; }
1273 { yylval
.str
= yytext
+1; token_debug(" ==>Root[%s]\n",yytext
+1); return ROOT
; }
1277 { yylval
.str
= yytext
+1; token_debug(" ==>Fraction[%s]\n",yytext
+1); return FRACTION
; }
1281 { yylval
.str
= yytext
+1; token_debug(" ==>Over[%s]\n",yytext
+1); return EQOVER
; }
1285 { yylval
.str
= yytext
+1; token_debug(" ==>Delimeter[%s]\n",yytext
+1); return DELIMETER
; }
1289 { yylval
.str
= yytext
+1; token_debug(" ==>Large_Delim[%s]\n",yytext
+1); return LARGE_DELIM
; }
1293 { yylval
.str
= yytext
+1; token_debug(" ==>Decoration[%s]\n",yytext
+1); return DECORATION
; }
1297 { yylval
.str
= yytext
+1; token_debug(" ==>Space_Symbol[%s]\n",yytext
+1); /*return SPACE_SYMBOL;*/ }
1302 { yylval
.str
= strdup("quad"); token_debug(" ==>Space_Symbol[quad]\n"); /* return SPACE_SYMBOL;*/ }
1307 { yylval
.dval
= yytext
; token_debug(" ==>Digit[%s]\n",yytext
); return DIGIT
; }
1311 { yylval
.str
= yytext
; token_debug(" ==>Operator[%s]\n",yytext
); return OPERATOR
; }
1315 { token_debug(" ==>SubSup[%s]\n",yytext
); return yytext
[0]; }
1319 { token_debug(" ==>Paren[%s]\n",yytext
); return yytext
[0];}
1323 { token_debug(" ==>Abs[%s]\n",yytext
); return yytext
[0];}
1327 { token_debug(" ==>Space[0x%2x]\n",yytext
[0]); }
1331 { token_debug(" ==>Ignore[0x%2x]\n",yytext
[0]); }
1335 { yylval
.str
= yytext
; token_debug(" ==>String[%s]\n",yytext
); return STRING
; }
1339 { yylval
.str
= yytext
; token_debug(" ==>Else[%s]\n",yytext
); return CHARACTER
; }
1345 case YY_STATE_EOF(INITIAL
):
1348 case YY_END_OF_BUFFER
:
1350 /* Amount of text matched not including the EOB char. */
1351 int yy_amount_of_matched_text
= static_cast<int>(yy_cp
- yytext_ptr
) - 1;
1353 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1354 *yy_cp
= yy_hold_char
;
1355 YY_RESTORE_YY_MORE_OFFSET
1357 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_NEW
)
1359 /* We're scanning a new file or input source. It's
1360 * possible that this happened because the user
1361 * just pointed yyin at a new source and called
1362 * yylex(). If so, then we have to assure
1363 * consistency between yy_current_buffer and our
1364 * globals. Here is the right place to do so, because
1365 * this is the first action (other than possibly a
1366 * back-up) that will match for the new input source.
1368 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
1369 yy_current_buffer
->yy_input_file
= yyin
;
1370 yy_current_buffer
->yy_buffer_status
= YY_BUFFER_NORMAL
;
1373 /* Note that here we test for yy_c_buf_p "<=" to the position
1374 * of the first EOB in the buffer, since yy_c_buf_p will
1375 * already have been incremented past the NUL character
1376 * (since all states make transitions on EOB to the
1377 * end-of-buffer state). Contrast this with the test
1380 if ( yy_c_buf_p
<= &yy_current_buffer
->yy_ch_buf
[yy_n_chars
] )
1381 { /* This was really a NUL. */
1382 yy_state_type yy_next_state
;
1384 yy_c_buf_p
= yytext_ptr
+ yy_amount_of_matched_text
;
1386 yy_current_state
= yy_get_previous_state();
1388 /* Okay, we're now positioned to make the NUL
1389 * transition. We couldn't have
1390 * yy_get_previous_state() go ahead and do it
1391 * for us because it doesn't know how to deal
1392 * with the possibility of jamming (and we don't
1393 * want to build jamming into it because then it
1394 * will run more slowly).
1397 yy_next_state
= yy_try_NUL_trans( yy_current_state
);
1399 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
1401 if ( yy_next_state
)
1403 /* Consume the NUL. */
1404 yy_cp
= ++yy_c_buf_p
;
1405 yy_current_state
= yy_next_state
;
1412 goto yy_find_action
;
1416 else switch ( yy_get_next_buffer() )
1418 case EOB_ACT_END_OF_FILE
:
1420 yy_did_buffer_switch_on_eof
= 0;
1424 /* Note: because we've taken care in
1425 * yy_get_next_buffer() to have set up
1426 * yytext, we can now set up
1427 * yy_c_buf_p so that if some total
1428 * hoser (like flex itself) wants to
1429 * call the scanner after we return the
1430 * YY_NULL, it'll still work - another
1431 * YY_NULL will get returned.
1433 yy_c_buf_p
= yytext_ptr
+ YY_MORE_ADJ
;
1435 yy_act
= YY_STATE_EOF(YY_START
);
1441 if ( ! yy_did_buffer_switch_on_eof
)
1447 case EOB_ACT_CONTINUE_SCAN
:
1449 yytext_ptr
+ yy_amount_of_matched_text
;
1451 yy_current_state
= yy_get_previous_state();
1454 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
1458 case EOB_ACT_LAST_MATCH
:
1460 &yy_current_buffer
->yy_ch_buf
[yy_n_chars
];
1462 yy_current_state
= yy_get_previous_state();
1465 yy_bp
= yytext_ptr
+ YY_MORE_ADJ
;
1466 goto yy_find_action
;
1474 "fatal flex scanner internal error--no action found" );
1475 } /* end of action switch */
1476 } /* end of scanning one token */
1477 } /* end of yylex */
1480 /* yy_get_next_buffer - try to read in a new buffer
1482 * Returns a code representing an action:
1483 * EOB_ACT_LAST_MATCH -
1484 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1485 * EOB_ACT_END_OF_FILE - end of file
1488 static int yy_get_next_buffer()
1490 char *dest
= yy_current_buffer
->yy_ch_buf
;
1491 char *source
= yytext_ptr
;
1492 int number_to_move
, i
;
1495 if ( yy_c_buf_p
> &yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] )
1497 "fatal flex scanner internal error--end of buffer missed" );
1499 if ( yy_current_buffer
->yy_fill_buffer
== 0 )
1500 { /* Don't try to fill the buffer, so this is an EOF. */
1501 if ( yy_c_buf_p
- yytext_ptr
- YY_MORE_ADJ
== 1 )
1503 /* We matched a single character, the EOB, so
1504 * treat this as a final EOF.
1506 return EOB_ACT_END_OF_FILE
;
1511 /* We matched some text prior to the EOB, first
1514 return EOB_ACT_LAST_MATCH
;
1518 /* Try to read more data. */
1520 /* First move last chars to start of buffer. */
1521 number_to_move
= static_cast<int>(yy_c_buf_p
- yytext_ptr
) - 1;
1523 for ( i
= 0; i
< number_to_move
; ++i
)
1524 *(dest
++) = *(source
++);
1526 if ( yy_current_buffer
->yy_buffer_status
== YY_BUFFER_EOF_PENDING
)
1527 /* don't do the read, it's not guaranteed to return an EOF,
1530 yy_current_buffer
->yy_n_chars
= yy_n_chars
= 0;
1535 yy_current_buffer
->yy_buf_size
- number_to_move
- 1;
1537 while ( num_to_read
<= 0 )
1538 { /* Not enough room in the buffer - grow it. */
1539 #ifdef YY_USES_REJECT
1541 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1544 /* just a shorter name for the current buffer */
1545 YY_BUFFER_STATE b
= yy_current_buffer
;
1547 int yy_c_buf_p_offset
=
1548 static_cast<int>(yy_c_buf_p
- b
->yy_ch_buf
);
1550 if ( b
->yy_is_our_buffer
)
1552 int new_size
= b
->yy_buf_size
* 2;
1554 if ( new_size
<= 0 )
1555 b
->yy_buf_size
+= b
->yy_buf_size
/ 8;
1557 b
->yy_buf_size
*= 2;
1559 b
->yy_ch_buf
= static_cast<char *>(
1560 /* Include room in for 2 EOB chars. */
1561 yy_flex_realloc( static_cast<void *>(b
->yy_ch_buf
),
1562 b
->yy_buf_size
+ 2 ));
1565 /* Can't grow it, we don't own it. */
1566 b
->yy_ch_buf
= nullptr;
1568 if ( ! b
->yy_ch_buf
)
1570 "fatal error - scanner input buffer overflow" );
1572 yy_c_buf_p
= &b
->yy_ch_buf
[yy_c_buf_p_offset
];
1574 num_to_read
= yy_current_buffer
->yy_buf_size
-
1579 if ( num_to_read
> YY_READ_BUF_SIZE
)
1580 num_to_read
= YY_READ_BUF_SIZE
;
1582 /* Read in more data. */
1583 YY_INPUT( (&yy_current_buffer
->yy_ch_buf
[number_to_move
]),
1584 yy_n_chars
, num_to_read
);
1586 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
1589 if ( yy_n_chars
== 0 )
1591 if ( number_to_move
== YY_MORE_ADJ
)
1593 ret_val
= EOB_ACT_END_OF_FILE
;
1599 ret_val
= EOB_ACT_LAST_MATCH
;
1600 yy_current_buffer
->yy_buffer_status
=
1601 YY_BUFFER_EOF_PENDING
;
1606 ret_val
= EOB_ACT_CONTINUE_SCAN
;
1608 yy_n_chars
+= number_to_move
;
1609 yy_current_buffer
->yy_ch_buf
[yy_n_chars
] = YY_END_OF_BUFFER_CHAR
;
1610 yy_current_buffer
->yy_ch_buf
[yy_n_chars
+ 1] = YY_END_OF_BUFFER_CHAR
;
1612 yytext_ptr
= &yy_current_buffer
->yy_ch_buf
[0];
1618 /* yy_get_previous_state - get the state just before the EOB char was reached */
1620 static yy_state_type
yy_get_previous_state()
1622 yy_state_type yy_current_state
;
1625 yy_current_state
= yy_start
;
1627 for ( yy_cp
= yytext_ptr
+ YY_MORE_ADJ
; yy_cp
< yy_c_buf_p
; ++yy_cp
)
1629 YY_CHAR yy_c
= sal::static_int_cast
<YY_CHAR
>(*yy_cp
? yy_ec
[YY_SC_TO_UI(*yy_cp
)] : 1);
1630 if ( yy_accept
[yy_current_state
] )
1632 yy_last_accepting_state
= yy_current_state
;
1633 yy_last_accepting_cpos
= yy_cp
;
1635 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1637 yy_current_state
= static_cast<int>(yy_def
[yy_current_state
]);
1638 if ( yy_current_state
>= 994 )
1639 yy_c
= sal::static_int_cast
<YY_CHAR
>(yy_meta
[static_cast<unsigned int>(yy_c
)]);
1641 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + static_cast<unsigned int>(yy_c
)];
1644 return yy_current_state
;
1648 /* yy_try_NUL_trans - try to make a transition on the NUL character
1651 * next_state = yy_try_NUL_trans( current_state );
1654 #ifdef YY_USE_PROTOS
1655 static yy_state_type
yy_try_NUL_trans( yy_state_type yy_current_state
)
1657 static yy_state_type
yy_try_NUL_trans( yy_current_state
)
1658 yy_state_type yy_current_state
;
1662 char *yy_cp
= yy_c_buf_p
;
1665 if ( yy_accept
[yy_current_state
] )
1667 yy_last_accepting_state
= yy_current_state
;
1668 yy_last_accepting_cpos
= yy_cp
;
1670 while ( yy_chk
[yy_base
[yy_current_state
] + yy_c
] != yy_current_state
)
1672 yy_current_state
= static_cast<int>(yy_def
[yy_current_state
]);
1673 if ( yy_current_state
>= 994 )
1674 yy_c
= sal::static_int_cast
<YY_CHAR
>(yy_meta
[static_cast<unsigned int>(yy_c
)]);
1676 yy_current_state
= yy_nxt
[yy_base
[yy_current_state
] + static_cast<unsigned int>(yy_c
)];
1677 yy_is_jam
= (yy_current_state
== 993);
1679 return yy_is_jam
? 0 : yy_current_state
;
1682 #ifdef YY_USE_PROTOS
1683 void yyrestart( FILE *input_file
)
1685 void yyrestart( input_file
)
1689 if ( ! yy_current_buffer
)
1690 yy_current_buffer
= yy_create_buffer( yyin
, YY_BUF_SIZE
);
1692 yy_init_buffer( yy_current_buffer
, input_file
);
1693 yy_load_buffer_state();
1697 #ifdef YY_USE_PROTOS
1698 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer
)
1700 void yy_switch_to_buffer( new_buffer
)
1701 YY_BUFFER_STATE new_buffer
;
1704 if ( yy_current_buffer
== new_buffer
)
1707 if ( yy_current_buffer
)
1709 /* Flush out information for old buffer. */
1710 *yy_c_buf_p
= yy_hold_char
;
1711 yy_current_buffer
->yy_buf_pos
= yy_c_buf_p
;
1712 yy_current_buffer
->yy_n_chars
= yy_n_chars
;
1715 yy_current_buffer
= new_buffer
;
1716 yy_load_buffer_state();
1718 /* We don't actually know whether we did this switch during
1719 * EOF (yywrap()) processing, but the only time this flag
1720 * is looked at is after yywrap() is called, so it's safe
1721 * to go ahead and always set it.
1723 yy_did_buffer_switch_on_eof
= 1;
1727 #ifdef YY_USE_PROTOS
1728 void yy_load_buffer_state()
1730 void yy_load_buffer_state()
1733 yy_n_chars
= yy_current_buffer
->yy_n_chars
;
1734 yytext_ptr
= yy_c_buf_p
= yy_current_buffer
->yy_buf_pos
;
1735 yyin
= yy_current_buffer
->yy_input_file
;
1736 yy_hold_char
= *yy_c_buf_p
;
1740 #ifdef YY_USE_PROTOS
1741 YY_BUFFER_STATE
yy_create_buffer( FILE *file
, int size
)
1743 YY_BUFFER_STATE
yy_create_buffer( file
, size
)
1750 b
= static_cast<YY_BUFFER_STATE
>(yy_flex_alloc( sizeof( struct yy_buffer_state
) ));
1752 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1754 b
->yy_buf_size
= size
;
1756 /* yy_ch_buf has to be 2 characters longer than the size given because
1757 * we need to put in 2 end-of-buffer characters.
1759 b
->yy_ch_buf
= static_cast<char *>(yy_flex_alloc( b
->yy_buf_size
+ 2 ));
1760 if ( ! b
->yy_ch_buf
)
1761 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1763 b
->yy_is_our_buffer
= 1;
1765 yy_init_buffer( b
, file
);
1771 #ifdef YY_USE_PROTOS
1772 void yy_delete_buffer( YY_BUFFER_STATE b
)
1774 void yy_delete_buffer( b
)
1781 if ( b
== yy_current_buffer
)
1782 yy_current_buffer
= nullptr;
1784 if ( b
->yy_is_our_buffer
)
1785 yy_flex_free( static_cast<void *>(b
->yy_ch_buf
) );
1787 yy_flex_free( static_cast<void *>(b
) );
1791 #ifndef YY_ALWAYS_INTERACTIVE
1792 #ifndef YY_NEVER_INTERACTIVE
1793 extern int isatty
YY_PROTO(( int ));
1797 #ifdef YY_USE_PROTOS
1798 void yy_init_buffer( YY_BUFFER_STATE b
, FILE *file
)
1800 void yy_init_buffer( b
, file
)
1807 yy_flush_buffer( b
);
1809 b
->yy_input_file
= file
;
1810 b
->yy_fill_buffer
= 1;
1812 #if YY_ALWAYS_INTERACTIVE
1813 b
->yy_is_interactive
= true;
1815 #if YY_NEVER_INTERACTIVE
1816 b
->yy_is_interactive
= false;
1818 b
->yy_is_interactive
= file
&& isatty( fileno(file
) ) > 0;
1824 #ifdef YY_USE_PROTOS
1825 void yy_flush_buffer( YY_BUFFER_STATE b
)
1827 void yy_flush_buffer( b
)
1837 /* We always need two end-of-buffer characters. The first causes
1838 * a transition to the end-of-buffer state. The second causes
1839 * a jam in that state.
1841 b
->yy_ch_buf
[0] = YY_END_OF_BUFFER_CHAR
;
1842 b
->yy_ch_buf
[1] = YY_END_OF_BUFFER_CHAR
;
1844 b
->yy_buf_pos
= &b
->yy_ch_buf
[0];
1847 b
->yy_buffer_status
= YY_BUFFER_NEW
;
1849 if ( b
== yy_current_buffer
)
1850 yy_load_buffer_state();
1854 #ifndef YY_NO_SCAN_BUFFER
1855 #ifdef YY_USE_PROTOS
1856 YY_BUFFER_STATE
yy_scan_buffer( char *base
, yy_size_t size
)
1858 YY_BUFFER_STATE
yy_scan_buffer( base
, size
)
1866 base
[size
-2] != YY_END_OF_BUFFER_CHAR
||
1867 base
[size
-1] != YY_END_OF_BUFFER_CHAR
)
1868 /* They forgot to leave room for the EOB's. */
1871 b
= static_cast<YY_BUFFER_STATE
>(yy_flex_alloc( sizeof( struct yy_buffer_state
) ));
1873 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1875 b
->yy_buf_size
= size
- 2; /* "- 2" to take care of EOB's */
1876 b
->yy_buf_pos
= b
->yy_ch_buf
= base
;
1877 b
->yy_is_our_buffer
= 0;
1878 b
->yy_input_file
= nullptr;
1879 b
->yy_n_chars
= b
->yy_buf_size
;
1880 b
->yy_is_interactive
= false;
1882 b
->yy_fill_buffer
= 0;
1883 b
->yy_buffer_status
= YY_BUFFER_NEW
;
1885 yy_switch_to_buffer( b
);
1892 #ifndef YY_NO_SCAN_STRING
1893 #ifdef YY_USE_PROTOS
1894 YY_BUFFER_STATE
yy_scan_string( yyconst
char *yy_str
)
1896 YY_BUFFER_STATE
yy_scan_string( yy_str
)
1897 yyconst
char *yy_str
;
1901 for ( len
= 0; yy_str
[len
]; ++len
)
1904 return yy_scan_bytes( yy_str
, len
);
1909 #ifndef YY_NO_SCAN_BYTES
1910 #ifdef YY_USE_PROTOS
1911 YY_BUFFER_STATE
yy_scan_bytes( yyconst
char *bytes
, int len
)
1913 YY_BUFFER_STATE
yy_scan_bytes( bytes
, len
)
1914 yyconst
char *bytes
;
1923 /* Get memory for full buffer, including space for trailing EOB's. */
1925 buf
= static_cast<char *>(yy_flex_alloc( n
));
1927 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1929 for ( i
= 0; i
< len
; ++i
)
1932 buf
[len
] = buf
[len
+1] = YY_END_OF_BUFFER_CHAR
;
1934 b
= yy_scan_buffer( buf
, n
);
1936 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1938 /* It's okay to grow etc. this buffer, and we should throw it
1939 * away when we're done.
1941 b
->yy_is_our_buffer
= 1;
1948 #ifndef YY_NO_PUSH_STATE
1949 #ifdef YY_USE_PROTOS
1950 static void yy_push_state( int new_state
)
1952 static void yy_push_state( new_state
)
1956 if ( yy_start_stack_ptr
>= yy_start_stack_depth
)
1960 yy_start_stack_depth
+= YY_START_STACK_INCR
;
1961 new_size
= yy_start_stack_depth
* sizeof( int );
1963 if ( ! yy_start_stack
)
1964 yy_start_stack
= (int *) yy_flex_alloc( new_size
);
1967 yy_start_stack
= (int *) yy_flex_realloc(
1968 (void *) yy_start_stack
, new_size
);
1970 if ( ! yy_start_stack
)
1972 "out of memory expanding start-condition stack" );
1975 yy_start_stack
[yy_start_stack_ptr
++] = YY_START
;
1982 #ifndef YY_NO_POP_STATE
1983 static void yy_pop_state()
1985 if ( --yy_start_stack_ptr
< 0 )
1986 YY_FATAL_ERROR( "start-condition stack underflow" );
1988 BEGIN(yy_start_stack
[yy_start_stack_ptr
]);
1993 #ifndef YY_NO_TOP_STATE
1994 static int yy_top_state()
1996 return yy_start_stack
[yy_start_stack_ptr
- 1];
2000 #ifndef YY_EXIT_FAILURE
2001 #define YY_EXIT_FAILURE 2
2004 #ifdef YY_USE_PROTOS
2005 static void yy_fatal_error( yyconst
char msg
[] )
2007 static void yy_fatal_error( msg
)
2011 (void) fprintf( stderr
, "%s\n", msg
);
2012 exit( YY_EXIT_FAILURE
);
2016 /* Internal utility routines. */
2019 #ifdef YY_USE_PROTOS
2020 static void yy_flex_strncpy( char *s1
, yyconst
char *s2
, int n
)
2022 static void yy_flex_strncpy( s1
, s2
, n
)
2029 for ( i
= 0; i
< n
; ++i
)
2034 #ifdef YY_NEED_STRLEN
2035 #ifdef YY_USE_PROTOS
2036 static int yy_flex_strlen( yyconst
char *s
)
2038 static int yy_flex_strlen( s
)
2043 for ( n
= 0; s
[n
]; ++n
)
2051 #ifdef YY_USE_PROTOS
2052 static void *yy_flex_alloc( yy_size_t size
)
2054 static void *yy_flex_alloc( size
)
2058 return malloc( size
);
2061 #ifdef YY_USE_PROTOS
2062 static void *yy_flex_realloc( void *ptr
, yy_size_t size
)
2064 static void *yy_flex_realloc( ptr
, size
)
2069 /* The cast to (char *) in the following accommodates both
2070 * implementations that use char* generic pointers, and those
2071 * that use void* generic pointers. It works with the latter
2072 * because both ANSI C and C++ allow castless assignment from
2073 * any pointer type to void*, and deal with argument conversions
2074 * as though doing an assignment.
2076 return realloc( ptr
, size
);
2079 #ifdef YY_USE_PROTOS
2080 static void yy_flex_free( void *ptr
)
2082 static void yy_flex_free( ptr
)
2098 void initFlex(const char *_code
)
2100 yy_switch_to_buffer( yy_scan_string(_code
) );
2105 yy_delete_buffer( YY_CURRENT_BUFFER
);
2110 int token_debug(const char * /*format*/, ...)
2116 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */