whistlepig 0.1

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