blob: abae52da616562f18340495bb841d627d51b17fe [file] [log] [blame]
Lev Walkin03892812010-11-03 09:33:03 -07001#line 2 "asn1p_l.c"
2
3#line 4 "asn1p_l.c"
4
5#define YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
8
9/* %not-for-header */
10
11/* %if-c-only */
12/* %if-not-reentrant */
Lev Walkinf15320b2004-06-03 03:38:44 +000013#define yy_create_buffer asn1p__create_buffer
14#define yy_delete_buffer asn1p__delete_buffer
Lev Walkinf15320b2004-06-03 03:38:44 +000015#define yy_flex_debug asn1p__flex_debug
16#define yy_init_buffer asn1p__init_buffer
17#define yy_flush_buffer asn1p__flush_buffer
18#define yy_load_buffer_state asn1p__load_buffer_state
19#define yy_switch_to_buffer asn1p__switch_to_buffer
20#define yyin asn1p_in
21#define yyleng asn1p_leng
22#define yylex asn1p_lex
Lev Walkin03892812010-11-03 09:33:03 -070023#define yylineno asn1p_lineno
Lev Walkinf15320b2004-06-03 03:38:44 +000024#define yyout asn1p_out
25#define yyrestart asn1p_restart
26#define yytext asn1p_text
Lev Walkin03892812010-11-03 09:33:03 -070027#define yywrap asn1p_wrap
28#define yyalloc asn1p_alloc
29#define yyrealloc asn1p_realloc
30#define yyfree asn1p_free
Lev Walkinf15320b2004-06-03 03:38:44 +000031
Lev Walkin03892812010-11-03 09:33:03 -070032/* %endif */
33/* %endif */
34/* %ok-for-header */
Lev Walkinadf863f2006-09-05 16:18:34 +000035
Lev Walkinf15320b2004-06-03 03:38:44 +000036#define FLEX_SCANNER
37#define YY_FLEX_MAJOR_VERSION 2
38#define YY_FLEX_MINOR_VERSION 5
Lev Walkin03892812010-11-03 09:33:03 -070039#define YY_FLEX_SUBMINOR_VERSION 35
40#if YY_FLEX_SUBMINOR_VERSION > 0
41#define FLEX_BETA
42#endif
Lev Walkinf15320b2004-06-03 03:38:44 +000043
Lev Walkin03892812010-11-03 09:33:03 -070044/* %if-c++-only */
45/* %endif */
46
47/* %if-c-only */
48
49/* %endif */
50
51/* %if-c-only */
52
53/* %endif */
54
55/* First, we deal with platform-specific or compiler-specific issues. */
56
57/* begin standard C headers. */
58/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +000059#include <stdio.h>
Lev Walkin03892812010-11-03 09:33:03 -070060#include <string.h>
61#include <errno.h>
62#include <stdlib.h>
63/* %endif */
Lev Walkina00d6b32006-03-21 03:40:38 +000064
Lev Walkin03892812010-11-03 09:33:03 -070065/* %if-tables-serialization */
66/* %endif */
67/* end standard C headers. */
Lev Walkinf15320b2004-06-03 03:38:44 +000068
Lev Walkin03892812010-11-03 09:33:03 -070069/* %if-c-or-c++ */
70/* flex integer type definitions */
71
72#ifndef FLEXINT_H
73#define FLEXINT_H
74
75/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
76
77#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
78
79/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
80 * if you want the limit (max/min) macros for int types.
81 */
82#ifndef __STDC_LIMIT_MACROS
83#define __STDC_LIMIT_MACROS 1
Lev Walkinf15320b2004-06-03 03:38:44 +000084#endif
85
Lev Walkin03892812010-11-03 09:33:03 -070086#include <inttypes.h>
87typedef int8_t flex_int8_t;
88typedef uint8_t flex_uint8_t;
89typedef int16_t flex_int16_t;
90typedef uint16_t flex_uint16_t;
91typedef int32_t flex_int32_t;
92typedef uint32_t flex_uint32_t;
93#else
94typedef signed char flex_int8_t;
95typedef short int flex_int16_t;
96typedef int flex_int32_t;
97typedef unsigned char flex_uint8_t;
98typedef unsigned short int flex_uint16_t;
99typedef unsigned int flex_uint32_t;
100#endif /* ! C99 */
101
102/* Limits of integral types. */
103#ifndef INT8_MIN
104#define INT8_MIN (-128)
105#endif
106#ifndef INT16_MIN
107#define INT16_MIN (-32767-1)
108#endif
109#ifndef INT32_MIN
110#define INT32_MIN (-2147483647-1)
111#endif
112#ifndef INT8_MAX
113#define INT8_MAX (127)
114#endif
115#ifndef INT16_MAX
116#define INT16_MAX (32767)
117#endif
118#ifndef INT32_MAX
119#define INT32_MAX (2147483647)
120#endif
121#ifndef UINT8_MAX
122#define UINT8_MAX (255U)
123#endif
124#ifndef UINT16_MAX
125#define UINT16_MAX (65535U)
126#endif
127#ifndef UINT32_MAX
128#define UINT32_MAX (4294967295U)
129#endif
130
131#endif /* ! FLEXINT_H */
132
133/* %endif */
134
135/* %if-c++-only */
136/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000137
138#ifdef __cplusplus
139
Lev Walkinf15320b2004-06-03 03:38:44 +0000140/* The "const" storage-class-modifier is valid. */
141#define YY_USE_CONST
142
143#else /* ! __cplusplus */
144
Lev Walkin03892812010-11-03 09:33:03 -0700145/* C99 requires __STDC__ to be defined as 1. */
146#if defined (__STDC__)
Lev Walkinf15320b2004-06-03 03:38:44 +0000147
Lev Walkinf15320b2004-06-03 03:38:44 +0000148#define YY_USE_CONST
149
Lev Walkin03892812010-11-03 09:33:03 -0700150#endif /* defined (__STDC__) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000151#endif /* ! __cplusplus */
152
Lev Walkinf15320b2004-06-03 03:38:44 +0000153#ifdef YY_USE_CONST
154#define yyconst const
155#else
156#define yyconst
157#endif
158
Lev Walkin03892812010-11-03 09:33:03 -0700159/* %not-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000160
161/* Returned upon end-of-file. */
162#define YY_NULL 0
Lev Walkin03892812010-11-03 09:33:03 -0700163/* %ok-for-header */
164
165/* %not-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000166
167/* Promotes a possibly negative, possibly signed char to an unsigned
168 * integer for use as an array index. If the signed char is negative,
169 * we want to instead treat it as an 8-bit unsigned char, hence the
170 * double cast.
171 */
172#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
Lev Walkin03892812010-11-03 09:33:03 -0700173/* %ok-for-header */
174
175/* %if-reentrant */
176/* %endif */
177
178/* %if-not-reentrant */
179
180/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000181
182/* Enter a start condition. This macro really ought to take a parameter,
183 * but we do it the disgusting crufty way forced on us by the ()-less
184 * definition of BEGIN.
185 */
Lev Walkin03892812010-11-03 09:33:03 -0700186#define BEGIN (yy_start) = 1 + 2 *
Lev Walkinf15320b2004-06-03 03:38:44 +0000187
188/* Translate the current start state into a value that can be later handed
189 * to BEGIN to return to the state. The YYSTATE alias is for lex
190 * compatibility.
191 */
Lev Walkin03892812010-11-03 09:33:03 -0700192#define YY_START (((yy_start) - 1) / 2)
Lev Walkinf15320b2004-06-03 03:38:44 +0000193#define YYSTATE YY_START
194
195/* Action number for EOF rule of a given start state. */
196#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
197
198/* Special action meaning "start processing a new file". */
Lev Walkin03892812010-11-03 09:33:03 -0700199#define YY_NEW_FILE asn1p_restart(asn1p_in )
Lev Walkinf15320b2004-06-03 03:38:44 +0000200
201#define YY_END_OF_BUFFER_CHAR 0
202
203/* Size of default input buffer. */
Lev Walkin03892812010-11-03 09:33:03 -0700204#ifndef YY_BUF_SIZE
Lev Walkinf15320b2004-06-03 03:38:44 +0000205#define YY_BUF_SIZE 16384
Lev Walkin03892812010-11-03 09:33:03 -0700206#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000207
Lev Walkin03892812010-11-03 09:33:03 -0700208/* The state buf must be large enough to hold one state per character in the main buffer.
209 */
210#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
211
212#ifndef YY_TYPEDEF_YY_BUFFER_STATE
213#define YY_TYPEDEF_YY_BUFFER_STATE
Lev Walkinf15320b2004-06-03 03:38:44 +0000214typedef struct yy_buffer_state *YY_BUFFER_STATE;
Lev Walkin03892812010-11-03 09:33:03 -0700215#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000216
Lev Walkin03892812010-11-03 09:33:03 -0700217/* %if-not-reentrant */
218extern int asn1p_leng;
219/* %endif */
220
221/* %if-c-only */
222/* %if-not-reentrant */
223extern FILE *asn1p_in, *asn1p_out;
224/* %endif */
225/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000226
227#define EOB_ACT_CONTINUE_SCAN 0
228#define EOB_ACT_END_OF_FILE 1
229#define EOB_ACT_LAST_MATCH 2
230
Lev Walkin03892812010-11-03 09:33:03 -0700231 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
232 * access to the local variable yy_act. Since yyless() is a macro, it would break
233 * existing scanners that call yyless() from OUTSIDE asn1p_lex.
234 * One obvious solution it to make yy_act a global. I tried that, and saw
235 * a 5% performance hit in a non-asn1p_lineno scanner, because yy_act is
236 * normally declared as a register variable-- so it is not worth it.
237 */
238 #define YY_LESS_LINENO(n) \
239 do { \
240 int yyl;\
241 for ( yyl = n; yyl < asn1p_leng; ++yyl )\
242 if ( asn1p_text[yyl] == '\n' )\
243 --asn1p_lineno;\
244 }while(0)
245
246/* Return all but the first "n" matched characters back to the input stream. */
Lev Walkinf15320b2004-06-03 03:38:44 +0000247#define yyless(n) \
248 do \
249 { \
Lev Walkin03892812010-11-03 09:33:03 -0700250 /* Undo effects of setting up asn1p_text. */ \
251 int yyless_macro_arg = (n); \
252 YY_LESS_LINENO(yyless_macro_arg);\
253 *yy_cp = (yy_hold_char); \
Lev Walkinf15320b2004-06-03 03:38:44 +0000254 YY_RESTORE_YY_MORE_OFFSET \
Lev Walkin03892812010-11-03 09:33:03 -0700255 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
256 YY_DO_BEFORE_ACTION; /* set up asn1p_text again */ \
Lev Walkinf15320b2004-06-03 03:38:44 +0000257 } \
258 while ( 0 )
259
Lev Walkin03892812010-11-03 09:33:03 -0700260#define unput(c) yyunput( c, (yytext_ptr) )
Lev Walkinf15320b2004-06-03 03:38:44 +0000261
Lev Walkin03892812010-11-03 09:33:03 -0700262#ifndef YY_TYPEDEF_YY_SIZE_T
263#define YY_TYPEDEF_YY_SIZE_T
264typedef size_t yy_size_t;
265#endif
Lev Walkinf15320b2004-06-03 03:38:44 +0000266
Lev Walkin03892812010-11-03 09:33:03 -0700267#ifndef YY_STRUCT_YY_BUFFER_STATE
268#define YY_STRUCT_YY_BUFFER_STATE
Lev Walkinf15320b2004-06-03 03:38:44 +0000269struct yy_buffer_state
270 {
Lev Walkin03892812010-11-03 09:33:03 -0700271/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +0000272 FILE *yy_input_file;
Lev Walkin03892812010-11-03 09:33:03 -0700273/* %endif */
274
275/* %if-c++-only */
276/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000277
278 char *yy_ch_buf; /* input buffer */
279 char *yy_buf_pos; /* current position in input buffer */
280
281 /* Size of input buffer in bytes, not including room for EOB
282 * characters.
283 */
284 yy_size_t yy_buf_size;
285
286 /* Number of characters read into yy_ch_buf, not including EOB
287 * characters.
288 */
289 int yy_n_chars;
290
291 /* Whether we "own" the buffer - i.e., we know we created it,
292 * and can realloc() it to grow it, and should free() it to
293 * delete it.
294 */
295 int yy_is_our_buffer;
296
297 /* Whether this is an "interactive" input source; if so, and
298 * if we're using stdio for input, then we want to use getc()
299 * instead of fread(), to make sure we stop fetching input after
300 * each newline.
301 */
302 int yy_is_interactive;
303
304 /* Whether we're considered to be at the beginning of a line.
305 * If so, '^' rules will be active on the next match, otherwise
306 * not.
307 */
308 int yy_at_bol;
309
Lev Walkin03892812010-11-03 09:33:03 -0700310 int yy_bs_lineno; /**< The line count. */
311 int yy_bs_column; /**< The column count. */
312
Lev Walkinf15320b2004-06-03 03:38:44 +0000313 /* Whether to try to fill the input buffer when we reach the
314 * end of it.
315 */
316 int yy_fill_buffer;
317
318 int yy_buffer_status;
Lev Walkin03892812010-11-03 09:33:03 -0700319
Lev Walkinf15320b2004-06-03 03:38:44 +0000320#define YY_BUFFER_NEW 0
321#define YY_BUFFER_NORMAL 1
322 /* When an EOF's been seen but there's still some text to process
323 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
324 * shouldn't try reading from the input source any more. We might
325 * still have a bunch of tokens to match, though, because of
326 * possible backing-up.
327 *
328 * When we actually see the EOF, we change the status to "new"
Lev Walkin03892812010-11-03 09:33:03 -0700329 * (via asn1p_restart()), so that the user can continue scanning by
330 * just pointing asn1p_in at a new input file.
Lev Walkinf15320b2004-06-03 03:38:44 +0000331 */
332#define YY_BUFFER_EOF_PENDING 2
Lev Walkinf15320b2004-06-03 03:38:44 +0000333
Lev Walkin03892812010-11-03 09:33:03 -0700334 };
335#endif /* !YY_STRUCT_YY_BUFFER_STATE */
336
337/* %if-c-only Standard (non-C++) definition */
338/* %not-for-header */
339
340/* %if-not-reentrant */
341
342/* Stack of input buffers. */
343static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
344static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
345static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
346/* %endif */
347/* %ok-for-header */
348
349/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000350
351/* We provide macros for accessing buffer states in case in the
352 * future we want to put the buffer states in a more general
353 * "scanner state".
Lev Walkin03892812010-11-03 09:33:03 -0700354 *
355 * Returns the top of the stack, or NULL.
Lev Walkinf15320b2004-06-03 03:38:44 +0000356 */
Lev Walkin03892812010-11-03 09:33:03 -0700357#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
358 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
359 : NULL)
Lev Walkinf15320b2004-06-03 03:38:44 +0000360
Lev Walkin03892812010-11-03 09:33:03 -0700361/* Same as previous macro, but useful when we know that the buffer stack is not
362 * NULL or when we need an lvalue. For internal use only.
363 */
364#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
Lev Walkinf15320b2004-06-03 03:38:44 +0000365
Lev Walkin03892812010-11-03 09:33:03 -0700366/* %if-c-only Standard (non-C++) definition */
367
368/* %if-not-reentrant */
369/* %not-for-header */
370
371/* yy_hold_char holds the character lost when asn1p_text is formed. */
Lev Walkinf15320b2004-06-03 03:38:44 +0000372static char yy_hold_char;
Lev Walkinf15320b2004-06-03 03:38:44 +0000373static int yy_n_chars; /* number of characters read into yy_ch_buf */
Lev Walkin03892812010-11-03 09:33:03 -0700374int asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +0000375
376/* Points to current character in buffer. */
377static char *yy_c_buf_p = (char *) 0;
Lev Walkin03892812010-11-03 09:33:03 -0700378static int yy_init = 0; /* whether we need to initialize */
Lev Walkinf15320b2004-06-03 03:38:44 +0000379static int yy_start = 0; /* start state number */
380
Lev Walkin03892812010-11-03 09:33:03 -0700381/* Flag which is used to allow asn1p_wrap()'s to do buffer switches
382 * instead of setting up a fresh asn1p_in. A bit of a hack ...
Lev Walkinf15320b2004-06-03 03:38:44 +0000383 */
384static int yy_did_buffer_switch_on_eof;
Lev Walkin03892812010-11-03 09:33:03 -0700385/* %ok-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +0000386
Lev Walkin03892812010-11-03 09:33:03 -0700387/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000388
Lev Walkin03892812010-11-03 09:33:03 -0700389void asn1p_restart (FILE *input_file );
390void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer );
391YY_BUFFER_STATE asn1p__create_buffer (FILE *file,int size );
392void asn1p__delete_buffer (YY_BUFFER_STATE b );
393void asn1p__flush_buffer (YY_BUFFER_STATE b );
394void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer );
395void asn1p_pop_buffer_state (void );
Lev Walkinf15320b2004-06-03 03:38:44 +0000396
Lev Walkin03892812010-11-03 09:33:03 -0700397static void asn1p_ensure_buffer_stack (void );
398static void asn1p__load_buffer_state (void );
399static void asn1p__init_buffer (YY_BUFFER_STATE b,FILE *file );
Lev Walkinf15320b2004-06-03 03:38:44 +0000400
Lev Walkin03892812010-11-03 09:33:03 -0700401#define YY_FLUSH_BUFFER asn1p__flush_buffer(YY_CURRENT_BUFFER )
Lev Walkinf15320b2004-06-03 03:38:44 +0000402
Lev Walkin03892812010-11-03 09:33:03 -0700403YY_BUFFER_STATE asn1p__scan_buffer (char *base,yy_size_t size );
404YY_BUFFER_STATE asn1p__scan_string (yyconst char *yy_str );
405YY_BUFFER_STATE asn1p__scan_bytes (yyconst char *bytes,int len );
406
407/* %endif */
408
409void *asn1p_alloc (yy_size_t );
410void *asn1p_realloc (void *,yy_size_t );
411void asn1p_free (void * );
412
413#define yy_new_buffer asn1p__create_buffer
Lev Walkinf15320b2004-06-03 03:38:44 +0000414
415#define yy_set_interactive(is_interactive) \
416 { \
Lev Walkin03892812010-11-03 09:33:03 -0700417 if ( ! YY_CURRENT_BUFFER ){ \
418 asn1p_ensure_buffer_stack (); \
419 YY_CURRENT_BUFFER_LVALUE = \
420 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \
421 } \
422 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000423 }
424
425#define yy_set_bol(at_bol) \
426 { \
Lev Walkin03892812010-11-03 09:33:03 -0700427 if ( ! YY_CURRENT_BUFFER ){\
428 asn1p_ensure_buffer_stack (); \
429 YY_CURRENT_BUFFER_LVALUE = \
430 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE ); \
431 } \
432 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000433 }
434
Lev Walkin03892812010-11-03 09:33:03 -0700435#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
Lev Walkinf15320b2004-06-03 03:38:44 +0000436
Lev Walkin03892812010-11-03 09:33:03 -0700437/* %% [1.0] asn1p_text/asn1p_in/asn1p_out/yy_state_type/asn1p_lineno etc. def's & init go here */
438/* Begin user sect3 */
Lev Walkinf15320b2004-06-03 03:38:44 +0000439
Lev Walkin03892812010-11-03 09:33:03 -0700440#define asn1p_wrap(n) 1
Lev Walkinf15320b2004-06-03 03:38:44 +0000441#define YY_SKIP_YYWRAP
442
443#define FLEX_DEBUG
Lev Walkin03892812010-11-03 09:33:03 -0700444
Lev Walkinf15320b2004-06-03 03:38:44 +0000445typedef unsigned char YY_CHAR;
Lev Walkin03892812010-11-03 09:33:03 -0700446
447FILE *asn1p_in = (FILE *) 0, *asn1p_out = (FILE *) 0;
448
Lev Walkinf15320b2004-06-03 03:38:44 +0000449typedef int yy_state_type;
450
Lev Walkin03892812010-11-03 09:33:03 -0700451extern int asn1p_lineno;
Lev Walkinf15320b2004-06-03 03:38:44 +0000452
Lev Walkin03892812010-11-03 09:33:03 -0700453int asn1p_lineno = 1;
454
455extern char *asn1p_text;
456#define yytext_ptr asn1p_text
457
458/* %if-c-only Standard (non-C++) definition */
459
460static yy_state_type yy_get_previous_state (void );
461static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
462static int yy_get_next_buffer (void );
463static void yy_fatal_error (yyconst char msg[] );
464
465/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +0000466
467/* Done after the current pattern has been matched and before the
Lev Walkin03892812010-11-03 09:33:03 -0700468 * corresponding action - sets up asn1p_text.
Lev Walkinf15320b2004-06-03 03:38:44 +0000469 */
470#define YY_DO_BEFORE_ACTION \
Lev Walkin03892812010-11-03 09:33:03 -0700471 (yytext_ptr) = yy_bp; \
472/* %% [2.0] code to fiddle asn1p_text and asn1p_leng for yymore() goes here \ */\
473 asn1p_leng = (size_t) (yy_cp - yy_bp); \
474 (yy_hold_char) = *yy_cp; \
Lev Walkinf15320b2004-06-03 03:38:44 +0000475 *yy_cp = '\0'; \
Lev Walkin03892812010-11-03 09:33:03 -0700476/* %% [3.0] code to copy yytext_ptr to asn1p_text[] goes here, if %array \ */\
477 (yy_c_buf_p) = yy_cp;
Lev Walkinf15320b2004-06-03 03:38:44 +0000478
Lev Walkin03892812010-11-03 09:33:03 -0700479/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
Lev Walkinadf863f2006-09-05 16:18:34 +0000480#define YY_NUM_RULES 138
481#define YY_END_OF_BUFFER 139
Lev Walkin03892812010-11-03 09:33:03 -0700482/* This struct is not used in this scanner,
483 but its presence is necessary. */
484struct yy_trans_info
485 {
486 flex_int32_t yy_verify;
487 flex_int32_t yy_nxt;
488 };
489static yyconst flex_int16_t yy_acclist[1264] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000490 { 0,
Lev Walkinadf863f2006-09-05 16:18:34 +0000491 139, 137, 138, 132, 137, 138, 132, 138, 135, 137,
492 138, 19, 137, 138, 135, 137, 138, 137, 138, 135,
493 137, 138, 137, 138, 137, 138, 135, 137, 138, 137,
494 138, 33, 137, 138, 32, 137, 138, 135, 137, 138,
495 137, 138, 120, 121, 137, 138, 120, 121, 137, 138,
496 120, 121, 137, 138, 120, 121, 137, 138, 120, 121,
497 137, 138, 120, 121, 137, 138, 120, 121, 137, 138,
498 120, 121, 137, 138, 120, 121, 137, 138, 120, 121,
499 137, 138, 120, 121, 137, 138, 120, 121, 137, 138,
500 120, 121, 137, 138, 120, 121, 137, 138, 120, 121,
Lev Walkinf15320b2004-06-03 03:38:44 +0000501
Lev Walkinadf863f2006-09-05 16:18:34 +0000502 137, 138, 120, 121, 137, 138, 120, 121, 137, 138,
503 120, 121, 137, 138, 120, 121, 137, 138, 119, 137,
504 138, 135, 137, 138, 9, 137, 138, 6, 138, 6,
505 137, 138, 8, 137, 138, 8, 137, 138, 11, 13,
506 137, 138, 11, 138, 13, 137, 138, 13, 137, 138,
507 13, 137, 138, 21, 137, 138, 21, 138, 22, 137,
508 138, 16, 137, 138, 16, 138, 18, 137, 138, 18,
509 137, 138, 14, 137, 138, 15, 137, 138, 25, 27,
510 137, 138, 27, 137, 138, 28, 138, 25, 26, 27,
511 137, 138, 25, 26, 27, 137, 138, 130, 137, 138,
Lev Walkinf15320b2004-06-03 03:38:44 +0000512
Lev Walkinadf863f2006-09-05 16:18:34 +0000513 130, 138, 137, 138, 126, 137, 138, 137, 138, 137,
514 138, 125, 137, 138, 128, 137, 138, 129, 137, 138,
515 127, 137, 138, 131, 137, 138, 132, 19, 19, 117,
516 118, 5, 31, 124, 10, 34, 32, 34, 120, 121,
517 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
518 121, 120, 121, 120, 121, 120, 121, 120, 121, 44,
519 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
520 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
521 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
522 120, 121, 120, 121, 120, 121, 120, 121, 121, 120,
Lev Walkind9574ae2005-03-24 16:22:35 +0000523
Lev Walkinadf863f2006-09-05 16:18:34 +0000524 121, 120, 121, 89, 120, 121, 120, 121, 121, 120,
525 121, 120, 121, 120, 121, 120, 121, 121, 120, 121,
526 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
527 120, 121, 120, 121, 121, 120, 121, 120, 121, 121,
528 121, 120, 121, 119, 9, 7, 7, 12, 21, 20,
529 16, 25, 25, 26, 25, 26, 130, 5, 125, 136,
530 117, 118, 31, 34, 123, 34, 122, 120, 121, 121,
531 120, 121, 36, 120, 121, 37, 120, 121, 120, 121,
532 120, 121, 120, 121, 41, 120, 121, 120, 121, 120,
533 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
Lev Walkind9574ae2005-03-24 16:22:35 +0000534
Lev Walkinadf863f2006-09-05 16:18:34 +0000535 121, 120, 121, 120, 121, 120, 121, 58, 120, 121,
536 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
537 120, 121, 121, 121, 120, 121, 120, 121, 120, 121,
538 120, 121, 120, 121, 120, 121, 120, 121, 81, 120,
539 121, 82, 120, 121, 120, 121, 121, 120, 121, 120,
540 121, 120, 121, 121, 120, 121, 92, 120, 121, 120,
541 121, 120, 121, 120, 121, 121, 120, 121, 120, 121,
542 120, 121, 100, 120, 121, 120, 121, 120, 121, 120,
543 121, 120, 121, 120, 121, 120, 121, 121, 120, 121,
544 120, 121, 120, 121, 121, 121, 121, 120, 121, 119,
Lev Walkind9574ae2005-03-24 16:22:35 +0000545
Lev Walkinadf863f2006-09-05 16:18:34 +0000546 3, 17, 25, 26, 24, 25, 26, 125, 117, 118,
547 30, 29, 2, 1, 120, 121, 120, 121, 120, 121,
548 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
549 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
550 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
551 120, 121, 120, 121, 120, 121, 120, 121, 66, 120,
552 121, 121, 121, 120, 121, 120, 121, 120, 121, 120,
553 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
554 121, 84, 120, 121, 121, 120, 121, 120, 121, 120,
555 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkin9d542d22006-03-14 16:31:37 +0000556
Lev Walkinadf863f2006-09-05 16:18:34 +0000557 121, 97, 120, 121, 120, 121, 120, 121, 101, 120,
558 121, 120, 121, 120, 121, 120, 121, 105, 120, 121,
559 107, 120, 121, 121, 120, 121, 120, 121, 120, 121,
560 120, 121, 120, 121, 121, 121, 121, 116, 120, 121,
561 3, 25, 26, 120, 121, 120, 121, 120, 121, 40,
562 120, 121, 121, 120, 121, 120, 121, 120, 121, 47,
563 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
564 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
565 120, 121, 120, 121, 120, 121, 120, 121, 65, 120,
566 121, 121, 121, 121, 120, 121, 120, 121, 120, 121,
Lev Walkin9d542d22006-03-14 16:31:37 +0000567
Lev Walkinadf863f2006-09-05 16:18:34 +0000568 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
569 120, 121, 120, 121, 121, 120, 121, 88, 120, 121,
570 120, 121, 121, 120, 121, 120, 121, 120, 121, 121,
571 120, 121, 120, 121, 120, 121, 120, 121, 121, 121,
572 108, 120, 121, 120, 121, 120, 121, 121, 120, 121,
573 121, 121, 121, 133, 25, 26, 35, 120, 121, 120,
574 121, 120, 121, 121, 120, 121, 120, 121, 46, 120,
575 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
576 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
577 121, 60, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkin9d542d22006-03-14 16:31:37 +0000578
Lev Walkinadf863f2006-09-05 16:18:34 +0000579 120, 121, 121, 121, 121, 120, 121, 120, 121, 120,
580 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
581 121, 120, 121, 120, 121, 121, 86, 120, 121, 120,
582 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
583 121, 120, 121, 120, 121, 102, 120, 121, 103, 120,
584 121, 121, 121, 109, 120, 121, 120, 121, 121, 121,
585 121, 121, 121, 25, 26, 120, 121, 120, 121, 121,
586 43, 120, 121, 120, 121, 120, 121, 120, 121, 120,
587 121, 52, 120, 121, 53, 120, 121, 120, 121, 120,
588 121, 56, 120, 121, 120, 121, 120, 121, 120, 121,
Lev Walkin9d542d22006-03-14 16:31:37 +0000589
Lev Walkinadf863f2006-09-05 16:18:34 +0000590 62, 120, 121, 120, 121, 120, 121, 121, 121, 121,
591 120, 121, 120, 121, 73, 120, 121, 74, 120, 121,
592 120, 121, 120, 121, 120, 121, 78, 120, 121, 120,
593 121, 120, 121, 120, 121, 121, 120, 121, 121, 91,
594 120, 121, 120, 121, 94, 120, 121, 96, 120, 121,
595 121, 120, 121, 120, 121, 121, 121, 120, 121, 112,
596 121, 121, 121, 121, 121, 25, 26, 120, 121, 120,
597 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
598 120, 121, 55, 120, 121, 120, 121, 120, 121, 61,
599 120, 121, 120, 121, 64, 120, 121, 121, 121, 121,
Lev Walkin9d542d22006-03-14 16:31:37 +0000600
Lev Walkinadf863f2006-09-05 16:18:34 +0000601 121, 120, 121, 72, 120, 121, 75, 120, 121, 76,
602 120, 121, 120, 121, 120, 121, 121, 120, 121, 121,
603 90, 120, 121, 121, 120, 121, 121, 120, 121, 99,
604 120, 121, 121, 121, 120, 121, 121, 121, 121, 121,
605 25, 26, 120, 121, 39, 120, 121, 42, 121, 45,
606 120, 121, 48, 120, 121, 120, 121, 120, 121, 120,
607 121, 120, 121, 120, 121, 121, 121, 121, 70, 121,
608 120, 121, 120, 121, 120, 121, 121, 120, 121, 121,
609 121, 120, 121, 121, 104, 121, 121, 110, 120, 121,
610 121, 121, 121, 121, 134, 25, 120, 121, 49, 120,
Lev Walkin9d542d22006-03-14 16:31:37 +0000611
Lev Walkinadf863f2006-09-05 16:18:34 +0000612 121, 120, 121, 51, 120, 121, 120, 121, 120, 121,
613 59, 120, 121, 120, 121, 121, 121, 121, 71, 120,
614 121, 120, 121, 120, 121, 121, 120, 121, 121, 121,
615 120, 121, 121, 120, 121, 121, 113, 121, 121, 121,
616 121, 25, 38, 120, 121, 50, 120, 121, 54, 120,
617 121, 120, 121, 120, 121, 121, 121, 121, 120, 121,
618 120, 121, 121, 120, 121, 121, 121, 120, 121, 121,
619 120, 121, 121, 121, 121, 121, 25, 120, 121, 120,
620 121, 121, 121, 121, 77, 120, 121, 79, 120, 121,
621 80, 121, 120, 121, 121, 121, 120, 121, 121, 98,
Lev Walkin9d542d22006-03-14 16:31:37 +0000622
Lev Walkinadf863f2006-09-05 16:18:34 +0000623 120, 121, 121, 121, 121, 121, 25, 120, 121, 63,
624 120, 121, 68, 121, 121, 69, 121, 120, 121, 85,
625 121, 121, 93, 120, 121, 121, 106, 121, 121, 121,
626 115, 121, 25, 120, 121, 121, 83, 120, 121, 121,
627 121, 121, 114, 121, 25, 120, 121, 67, 121, 121,
628 95, 121, 111, 121, 25, 57, 120, 121, 87, 121,
629 23, 25, 4
Lev Walkinf15320b2004-06-03 03:38:44 +0000630 } ;
631
Lev Walkin03892812010-11-03 09:33:03 -0700632static yyconst flex_int16_t yy_accept[743] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000633 { 0,
634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000635 1, 1, 1, 1, 1, 1, 1, 2, 4, 7,
Lev Walkinadf863f2006-09-05 16:18:34 +0000636 9, 12, 15, 18, 20, 23, 25, 27, 30, 32,
637 35, 38, 41, 43, 47, 51, 55, 59, 63, 67,
638 71, 75, 79, 83, 87, 91, 95, 99, 103, 107,
639 111, 115, 119, 122, 125, 128, 130, 133, 136, 139,
640 143, 145, 148, 151, 154, 157, 159, 162, 165, 167,
641 170, 173, 176, 179, 183, 186, 188, 193, 198, 201,
642 203, 205, 208, 210, 212, 215, 218, 221, 224, 227,
643 227, 228, 229, 230, 230, 231, 231, 232, 232, 232,
Lev Walkinf15320b2004-06-03 03:38:44 +0000644
Lev Walkinadf863f2006-09-05 16:18:34 +0000645 232, 233, 234, 235, 236, 236, 237, 237, 239, 239,
646 239, 241, 243, 245, 247, 249, 251, 252, 254, 256,
647 258, 260, 263, 265, 267, 269, 271, 273, 275, 277,
648 279, 281, 282, 283, 285, 287, 289, 291, 293, 295,
649 297, 299, 300, 302, 304, 307, 309, 310, 312, 314,
650 316, 318, 319, 321, 323, 325, 327, 329, 331, 333,
651 335, 336, 338, 340, 341, 342, 344, 344, 345, 345,
652 345, 345, 346, 347, 348, 349, 350, 351, 352, 352,
653 353, 355, 357, 358, 359, 359, 360, 361, 361, 361,
654 362, 362, 363, 363, 363, 363, 363, 365, 366, 367,
Lev Walkinf15320b2004-06-03 03:38:44 +0000655
Lev Walkinadf863f2006-09-05 16:18:34 +0000656 367, 368, 370, 371, 373, 376, 379, 381, 383, 383,
657 385, 388, 390, 392, 394, 396, 398, 400, 402, 404,
658 406, 408, 411, 413, 415, 417, 419, 421, 423, 424,
659 425, 427, 429, 431, 433, 435, 437, 439, 442, 445,
660 447, 448, 450, 452, 454, 455, 457, 460, 462, 464,
661 466, 467, 469, 471, 473, 476, 478, 480, 482, 484,
662 486, 488, 489, 491, 493, 495, 496, 497, 498, 500,
663 501, 501, 501, 502, 503, 505, 508, 509, 509, 510,
664 511, 512, 513, 514, 515, 515, 515, 515, 517, 519,
665 521, 523, 525, 527, 529, 531, 533, 535, 537, 539,
Lev Walkinf15320b2004-06-03 03:38:44 +0000666
Lev Walkinadf863f2006-09-05 16:18:34 +0000667 541, 543, 545, 547, 549, 551, 553, 555, 557, 559,
668 562, 563, 564, 566, 568, 570, 572, 574, 576, 578,
669 580, 582, 585, 586, 588, 590, 592, 593, 595, 597,
670 599, 601, 602, 605, 607, 609, 612, 614, 616, 618,
671 621, 624, 625, 627, 629, 631, 633, 635, 636, 637,
672 638, 641, 641, 641, 641, 641, 642, 644, 644, 646,
673 648, 650, 653, 654, 656, 658, 660, 663, 665, 667,
674 669, 671, 673, 675, 677, 679, 681, 683, 685, 687,
675 689, 692, 693, 694, 695, 697, 699, 701, 703, 705,
676 707, 709, 711, 713, 715, 716, 718, 721, 723, 724,
Lev Walkinf15320b2004-06-03 03:38:44 +0000677
Lev Walkinadf863f2006-09-05 16:18:34 +0000678 726, 726, 728, 730, 731, 733, 735, 737, 739, 740,
679 741, 744, 746, 748, 749, 751, 752, 753, 754, 754,
680 754, 755, 757, 757, 760, 762, 764, 765, 767, 769,
681 772, 774, 776, 778, 780, 782, 784, 786, 788, 790,
682 792, 795, 797, 799, 801, 803, 804, 805, 806, 808,
683 810, 812, 814, 816, 818, 820, 822, 824, 826, 826,
684 827, 830, 832, 833, 835, 837, 839, 841, 842, 844,
685 846, 849, 852, 853, 854, 857, 859, 860, 861, 862,
686 863, 864, 864, 864, 866, 866, 868, 870, 871, 874,
687 876, 878, 880, 882, 885, 888, 890, 892, 895, 897,
Lev Walkinf15320b2004-06-03 03:38:44 +0000688
Lev Walkinadf863f2006-09-05 16:18:34 +0000689 899, 901, 904, 906, 908, 909, 910, 911, 913, 915,
690 918, 921, 923, 925, 927, 930, 932, 934, 936, 937,
691 939, 940, 943, 945, 948, 951, 952, 954, 956, 957,
692 958, 960, 962, 963, 964, 965, 966, 966, 968, 968,
693 970, 972, 973, 975, 977, 979, 981, 983, 986, 988,
694 990, 993, 995, 998, 999, 1000, 1001, 1002, 1004, 1007,
695 1010, 1013, 1015, 1017, 1018, 1020, 1021, 1024, 1025, 1027,
696 1028, 1030, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1041,
697 1041, 1041, 1043, 1043, 1045, 1048, 1050, 1053, 1056, 1058,
698 1060, 1062, 1062, 1064, 1066, 1067, 1068, 1069, 1071, 1073,
Lev Walkinf15320b2004-06-03 03:38:44 +0000699
Lev Walkinadf863f2006-09-05 16:18:34 +0000700 1075, 1077, 1078, 1080, 1081, 1082, 1084, 1085, 1085, 1087,
701 1088, 1091, 1092, 1093, 1094, 1095, 1095, 1096, 1097, 1097,
702 1099, 1102, 1104, 1107, 1109, 1111, 1114, 1116, 1117, 1118,
703 1119, 1122, 1124, 1126, 1127, 1129, 1130, 1131, 1133, 1134,
704 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1143, 1146, 1149,
705 1152, 1154, 1156, 1157, 1158, 1159, 1161, 1163, 1164, 1166,
706 1167, 1168, 1170, 1171, 1173, 1174, 1175, 1176, 1177, 1178,
707 1178, 1180, 1182, 1183, 1184, 1185, 1188, 1191, 1193, 1195,
708 1196, 1197, 1199, 1200, 1203, 1204, 1205, 1206, 1207, 1208,
709 1208, 1210, 1213, 1215, 1216, 1218, 1220, 1222, 1223, 1226,
Lev Walkin2535a692005-07-02 21:42:40 +0000710
Lev Walkinadf863f2006-09-05 16:18:34 +0000711 1227, 1229, 1230, 1231, 1233, 1234, 1234, 1236, 1237, 1240,
712 1241, 1242, 1243, 1245, 1246, 1246, 1248, 1250, 1251, 1253,
713 1255, 1256, 1256, 1259, 1261, 1263, 1263, 1263, 1263, 1263,
714 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
715 1264, 1264
Lev Walkinf15320b2004-06-03 03:38:44 +0000716 } ;
717
Lev Walkin03892812010-11-03 09:33:03 -0700718static yyconst flex_int32_t yy_ec[256] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000719 { 0,
720 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
Lev Walkin2535a692005-07-02 21:42:40 +0000721 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000722 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000723 1, 2, 6, 7, 1, 1, 1, 8, 9, 10,
Lev Walkinadf863f2006-09-05 16:18:34 +0000724 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
725 19, 20, 21, 22, 19, 23, 24, 25, 26, 27,
726 28, 29, 1, 10, 30, 31, 32, 33, 34, 35,
727 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
728 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
729 56, 1, 57, 58, 1, 1, 59, 60, 61, 62,
Lev Walkinf15320b2004-06-03 03:38:44 +0000730
Lev Walkinadf863f2006-09-05 16:18:34 +0000731 63, 64, 65, 66, 67, 68, 64, 69, 70, 71,
732 72, 73, 64, 74, 75, 76, 77, 78, 64, 79,
733 64, 80, 81, 82, 83, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000734 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
735 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
736 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
741
742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
747 1, 1, 1, 1, 1
748 } ;
749
Lev Walkin03892812010-11-03 09:33:03 -0700750static yyconst flex_int32_t yy_meta[84] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000751 { 0,
Lev Walkin9d542d22006-03-14 16:31:37 +0000752 1, 2, 3, 4, 4, 1, 5, 1, 6, 1,
Lev Walkinadf863f2006-09-05 16:18:34 +0000753 1, 1, 1, 7, 1, 1, 8, 8, 8, 8,
754 8, 8, 8, 8, 9, 1, 1, 9, 1, 10,
755 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,
Lev Walkin9d542d22006-03-14 16:31:37 +0000756 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkinadf863f2006-09-05 16:18:34 +0000757 11, 11, 11, 11, 11, 1, 1, 1, 11, 11,
Lev Walkin9d542d22006-03-14 16:31:37 +0000758 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
Lev Walkinadf863f2006-09-05 16:18:34 +0000759 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
760 12, 1, 13
Lev Walkin2535a692005-07-02 21:42:40 +0000761 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000762
Lev Walkin03892812010-11-03 09:33:03 -0700763static yyconst flex_int16_t yy_base[768] =
Lev Walkin2535a692005-07-02 21:42:40 +0000764 { 0,
Lev Walkinadf863f2006-09-05 16:18:34 +0000765 0, 0, 81, 84, 87, 99, 94, 96, 93, 108,
766 91, 103, 186, 269, 352, 0, 1657, 1646, 130, 138,
767 1645, 1643, 427, 146, 4507, 158, 207, 1633, 109, 230,
768 493, 1621, 4507, 543, 268, 115, 274, 289, 488, 593,
769 191, 599, 509, 215, 491, 621, 406, 638, 655, 658,
770 678, 689, 1631, 733, 0, 4507, 4507, 1630, 1629, 4507,
771 4507, 1621, 1622, 4507, 0, 0, 1622, 0, 0, 1602,
772 4507, 4507, 4507, 0, 4507, 4507, 757, 839, 122, 166,
773 127, 4507, 1612, 1609, 1604, 4507, 4507, 4507, 4507, 1605,
774 201, 0, 1603, 1603, 1589, 96, 1585, 656, 1588, 772,
Lev Walkinf15320b2004-06-03 03:38:44 +0000775
Lev Walkinadf863f2006-09-05 16:18:34 +0000776 103, 807, 1580, 4507, 839, 857, 886, 907, 1565, 912,
777 681, 757, 892, 903, 909, 962, 1578, 963, 978, 979,
778 994, 1000, 1016, 1022, 1033, 1046, 1049, 1069, 1066, 1077,
779 1090, 95, 79, 1105, 1108, 1116, 1131, 1142, 1153, 1159,
780 1170, 147, 1183, 1186, 1199, 1207, 94, 1210, 1223, 1234,
781 1247, 143, 1263, 1269, 1280, 1286, 1297, 1308, 1314, 1325,
782 169, 1331, 1347, 194, 225, 1346, 0, 1572, 757, 943,
783 1381, 0, 4507, 1570, 4507, 0, 4507, 0, 1554, 0,
784 1536, 258, 333, 4507, 0, 1561, 4507, 1554, 0, 1552,
785 0, 1550, 226, 1526, 204, 143, 1391, 4507, 866, 894,
Lev Walkinf15320b2004-06-03 03:38:44 +0000786
Lev Walkinadf863f2006-09-05 16:18:34 +0000787 4507, 1441, 1548, 1385, 1386, 1401, 1402, 1417, 1547, 1425,
788 1428, 1441, 1449, 1491, 1492, 1508, 1509, 1524, 1540, 1546,
789 1557, 1563, 1574, 1580, 1591, 1597, 1608, 1619, 223, 241,
790 1632, 1640, 1643, 1658, 1661, 1664, 1690, 1682, 1693, 1706,
791 226, 1714, 1727, 1735, 495, 1738, 1751, 1759, 1767, 1775,
792 245, 1788, 1791, 1799, 1812, 1820, 1828, 1836, 1849, 1857,
793 1870, 506, 1878, 1894, 1895, 470, 507, 221, 1910, 1546,
794 1954, 1962, 1543, 4507, 285, 1505, 1533, 1489, 1531, 1530,
795 4507, 4507, 4507, 4507, 436, 319, 1495, 1956, 1957, 1972,
796 1978, 1989, 1995, 2011, 2012, 2027, 2035, 2043, 2059, 2056,
Lev Walkinf15320b2004-06-03 03:38:44 +0000797
Lev Walkinadf863f2006-09-05 16:18:34 +0000798 2067, 2080, 2083, 2098, 2104, 2115, 2121, 2132, 2147, 2153,
799 469, 535, 2164, 2170, 2185, 2186, 2201, 2207, 2222, 2225,
800 2233, 2246, 554, 2254, 2257, 2270, 205, 2278, 2291, 2299,
801 2307, 523, 2315, 2323, 2336, 2344, 2347, 2365, 2362, 2368,
802 2383, 557, 2386, 2389, 2406, 2412, 2423, 612, 528, 631,
803 2439, 2473, 2496, 2519, 2531, 1517, 190, 1486, 2515, 2530,
804 2546, 2543, 623, 2564, 2567, 2570, 2585, 2588, 2596, 2609,
805 2617, 2630, 2641, 2647, 2658, 2669, 2684, 2690, 2701, 2707,
806 2722, 248, 558, 632, 2723, 2743, 2740, 2761, 2760, 2776,
807 2782, 2793, 2806, 2817, 613, 2814, 2830, 2838, 617, 2846,
Lev Walkinf15320b2004-06-03 03:38:44 +0000808
Lev Walkinadf863f2006-09-05 16:18:34 +0000809 309, 2854, 2867, 625, 2880, 2883, 2891, 2904, 636, 641,
810 2915, 2921, 2932, 643, 2943, 668, 639, 621, 441, 2987,
811 4507, 302, 1508, 2971, 2987, 2984, 649, 2995, 3008, 3011,
812 3028, 3034, 3045, 3051, 3066, 3072, 3089, 3095, 3106, 3112,
813 3123, 3129, 3140, 3146, 3162, 656, 680, 730, 3163, 3178,
814 3184, 3195, 3201, 3216, 3222, 3233, 3248, 3254, 785, 878,
815 3265, 3281, 511, 3278, 1482, 3289, 3302, 885, 3310, 3325,
816 3328, 3331, 734, 664, 3346, 3349, 806, 735, 733, 830,
817 880, 3398, 3410, 1481, 1461, 3364, 3404, 732, 3405, 3422,
818 3421, 3437, 3438, 3453, 3454, 3469, 3475, 3486, 3492, 3503,
Lev Walkinf15320b2004-06-03 03:38:44 +0000819
Lev Walkinadf863f2006-09-05 16:18:34 +0000820 3514, 3525, 3531, 3542, 982, 790, 887, 3548, 3559, 3570,
821 3576, 3587, 3593, 3608, 3609, 3624, 3630, 1445, 823, 3641,
822 905, 3647, 1448, 3658, 3664, 933, 3679, 3685, 924, 984,
823 3701, 1467, 987, 941, 918, 1000, 3735, 101, 0, 3729,
824 3730, 1003, 3745, 3753, 3756, 3769, 3777, 3785, 3793, 3806,
825 3814, 3822, 3830, 1012, 634, 1019, 1004, 3843, 3851, 3854,
826 3867, 3875, 3878, 1056, 1444, 1028, 3891, 1042, 1427, 1022,
827 3912, 3899, 1041, 1037, 3915, 1002, 1068, 1057, 1048, 3964,
828 1381, 290, 1410, 3930, 3948, 1436, 3959, 3965, 3980, 3981,
829 3996, 514, 4002, 4013, 1070, 1065, 1115, 1435, 4019, 4030,
Lev Walkinf15320b2004-06-03 03:38:44 +0000830
Lev Walkinadf863f2006-09-05 16:18:34 +0000831 4041, 1026, 1403, 1131, 1109, 1397, 1127, 798, 1425, 1138,
832 4047, 1089, 1129, 1142, 1151, 1493, 4507, 1392, 1358, 4058,
833 4064, 4079, 4080, 4095, 1374, 4096, 4111, 1111, 1146, 1124,
834 4117, 4128, 4139, 1150, 1322, 1179, 1193, 1299, 1185, 1296,
835 1196, 1318, 1220, 1202, 1205, 1254, 1218, 4145, 4156, 4162,
836 1227, 4173, 1168, 1118, 1174, 4184, 4190, 1218, 1224, 1209,
837 1255, 1148, 1229, 1138, 1272, 1233, 1257, 1273, 1126, 1012,
838 1009, 4205, 1244, 1281, 1287, 4206, 4221, 1020, 966, 1302,
839 1268, 915, 1306, 0, 1357, 1340, 1275, 1409, 902, 886,
840 889, 4222, 822, 1291, 820, 779, 818, 1223, 0, 1349,
Lev Walkinf15320b2004-06-03 03:38:44 +0000841
Lev Walkinadf863f2006-09-05 16:18:34 +0000842 807, 1366, 1420, 805, 771, 742, 767, 1424, 0, 1288,
843 1462, 1463, 796, 696, 670, 676, 697, 1379, 541, 539,
844 504, 459, 0, 441, 0, 378, 422, 373, 397, 366,
845 281, 275, 268, 280, 267, 814, 1166, 115, 100, 4507,
846 4507, 4272, 4285, 4298, 4311, 4324, 4337, 4349, 4353, 4364,
847 4377, 4390, 4401, 4412, 4417, 4422, 4427, 4431, 4436, 4440,
848 4444, 4448, 4452, 4463, 4470, 4481, 4493
Lev Walkin2535a692005-07-02 21:42:40 +0000849 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000850
Lev Walkin03892812010-11-03 09:33:03 -0700851static yyconst flex_int16_t yy_def[768] =
Lev Walkin2535a692005-07-02 21:42:40 +0000852 { 0,
Lev Walkinadf863f2006-09-05 16:18:34 +0000853 741, 1, 742, 742, 742, 742, 743, 743, 744, 744,
854 745, 745, 746, 746, 741, 15, 741, 741, 741, 741,
855 741, 747, 741, 748, 741, 741, 741, 741, 741, 741,
856 741, 741, 741, 741, 34, 34, 34, 34, 34, 34,
857 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
858 34, 34, 749, 741, 750, 741, 741, 741, 741, 741,
859 741, 741, 741, 741, 751, 751, 741, 752, 752, 741,
860 741, 741, 741, 753, 741, 741, 754, 754, 741, 741,
861 23, 741, 741, 741, 755, 741, 741, 741, 741, 741,
862 741, 747, 747, 741, 756, 741, 757, 748, 748, 741,
Lev Walkinf15320b2004-06-03 03:38:44 +0000863
Lev Walkinadf863f2006-09-05 16:18:34 +0000864 741, 741, 741, 741, 741, 741, 741, 741, 741, 758,
865 34, 34, 34, 34, 34, 34, 759, 34, 34, 34,
866 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
867 34, 759, 759, 34, 34, 34, 34, 34, 34, 34,
868 34, 759, 34, 34, 34, 34, 759, 34, 34, 34,
869 34, 759, 34, 34, 34, 34, 34, 34, 34, 34,
870 759, 34, 34, 759, 759, 34, 760, 749, 741, 741,
871 741, 750, 741, 741, 741, 751, 741, 752, 741, 753,
872 78, 78, 741, 741, 761, 755, 741, 741, 762, 756,
873 763, 757, 741, 741, 764, 741, 741, 741, 741, 741,
Lev Walkin9d542d22006-03-14 16:31:37 +0000874
Lev Walkinadf863f2006-09-05 16:18:34 +0000875 741, 758, 765, 34, 34, 34, 34, 34, 765, 34,
876 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
877 34, 34, 34, 34, 34, 34, 34, 34, 759, 759,
878 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
879 759, 34, 34, 34, 759, 34, 34, 34, 34, 34,
880 759, 34, 34, 34, 34, 34, 34, 34, 34, 34,
881 34, 759, 34, 34, 34, 759, 759, 759, 34, 760,
882 741, 741, 741, 741, 78, 78, 761, 741, 762, 763,
883 741, 741, 741, 741, 764, 741, 741, 34, 34, 34,
884 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkin9d542d22006-03-14 16:31:37 +0000885
Lev Walkinadf863f2006-09-05 16:18:34 +0000886 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
887 759, 759, 34, 34, 34, 34, 34, 34, 34, 34,
888 34, 34, 759, 34, 34, 34, 759, 34, 34, 34,
889 34, 759, 34, 34, 34, 34, 34, 34, 34, 34,
890 34, 759, 34, 34, 34, 34, 34, 759, 759, 759,
891 34, 741, 741, 741, 741, 741, 78, 741, 34, 34,
892 34, 34, 759, 34, 34, 34, 34, 34, 34, 34,
893 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
894 34, 759, 759, 759, 34, 34, 34, 34, 34, 34,
895 34, 34, 34, 34, 759, 34, 34, 34, 759, 34,
Lev Walkin9d542d22006-03-14 16:31:37 +0000896
Lev Walkinadf863f2006-09-05 16:18:34 +0000897 202, 34, 34, 759, 34, 34, 34, 34, 759, 759,
898 34, 34, 34, 759, 34, 759, 759, 759, 741, 741,
899 741, 78, 741, 34, 34, 34, 759, 34, 34, 34,
900 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
901 34, 34, 34, 34, 34, 759, 759, 759, 34, 34,
902 34, 34, 34, 34, 34, 34, 34, 34, 202, 759,
903 34, 34, 759, 34, 202, 34, 34, 759, 34, 34,
904 34, 34, 759, 759, 34, 34, 759, 759, 759, 759,
905 759, 741, 741, 78, 741, 34, 34, 759, 34, 34,
906 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
Lev Walkinf15320b2004-06-03 03:38:44 +0000907
Lev Walkinadf863f2006-09-05 16:18:34 +0000908 34, 34, 34, 34, 759, 759, 759, 34, 34, 34,
909 34, 34, 34, 34, 34, 34, 34, 202, 759, 34,
910 759, 34, 202, 34, 34, 759, 34, 34, 759, 759,
911 34, 759, 759, 759, 759, 759, 741, 78, 766, 34,
912 34, 759, 34, 34, 34, 34, 34, 34, 34, 34,
913 34, 34, 34, 759, 759, 759, 759, 34, 34, 34,
914 34, 34, 34, 759, 202, 759, 34, 759, 202, 759,
915 34, 34, 759, 759, 34, 759, 759, 759, 759, 741,
916 767, 78, 741, 34, 34, 759, 34, 34, 34, 34,
917 34, 202, 34, 34, 759, 759, 759, 759, 34, 34,
Lev Walkinef625402005-09-05 05:17:57 +0000918
Lev Walkinadf863f2006-09-05 16:18:34 +0000919 34, 759, 202, 759, 759, 202, 759, 202, 759, 759,
920 34, 759, 759, 759, 759, 741, 741, 753, 741, 34,
921 34, 34, 34, 34, 202, 34, 34, 759, 759, 759,
922 34, 34, 34, 759, 202, 759, 759, 202, 759, 202,
923 759, 759, 759, 759, 759, 753, 741, 34, 34, 34,
924 202, 34, 759, 759, 759, 34, 34, 759, 202, 759,
925 759, 202, 759, 202, 759, 759, 759, 759, 753, 741,
926 202, 34, 759, 759, 759, 34, 34, 759, 202, 759,
927 759, 202, 759, 202, 759, 759, 759, 759, 753, 741,
928 202, 34, 759, 759, 759, 202, 759, 759, 202, 759,
Lev Walkinf15320b2004-06-03 03:38:44 +0000929
Lev Walkinadf863f2006-09-05 16:18:34 +0000930 759, 759, 759, 759, 753, 741, 202, 759, 202, 759,
931 759, 759, 759, 753, 741, 202, 759, 759, 759, 759,
932 753, 741, 202, 759, 753, 741, 741, 741, 741, 741,
933 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
934 0, 741, 741, 741, 741, 741, 741, 741, 741, 741,
935 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
936 741, 741, 741, 741, 741, 741, 741
Lev Walkin2535a692005-07-02 21:42:40 +0000937 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000938
Lev Walkin03892812010-11-03 09:33:03 -0700939static yyconst flex_int16_t yy_nxt[4591] =
Lev Walkin2535a692005-07-02 21:42:40 +0000940 { 0,
941 18, 19, 20, 19, 19, 21, 22, 23, 24, 25,
Lev Walkinadf863f2006-09-05 16:18:34 +0000942 18, 26, 25, 27, 28, 29, 30, 31, 31, 31,
943 31, 31, 31, 31, 32, 21, 33, 33, 18, 34,
944 35, 36, 37, 38, 39, 40, 41, 42, 41, 41,
945 41, 43, 44, 45, 46, 41, 47, 48, 49, 50,
946 51, 52, 41, 41, 41, 25, 21, 21, 53, 53,
947 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
948 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
949 54, 21, 25, 56, 57, 57, 56, 57, 57, 56,
950 57, 57, 209, 69, 58, 66, 61, 58, 61, 67,
Lev Walkinf15320b2004-06-03 03:38:44 +0000951
Lev Walkinadf863f2006-09-05 16:18:34 +0000952 59, 56, 57, 57, 62, 69, 62, 209, 209, 63,
953 66, 63, 59, 740, 67, 70, 195, 90, 71, 104,
954 64, 94, 64, 183, 183, 183, 183, 70, 739, 196,
955 71, 91, 91, 91, 91, 741, 582, 230, 90, 91,
956 91, 91, 91, 181, 286, 111, 90, 98, 98, 98,
957 98, 123, 741, 96, 90, 124, 209, 111, 125, 111,
958 209, 245, 98, 98, 111, 229, 90, 183, 183, 183,
959 183, 72, 287, 73, 100, 100, 100, 100, 100, 100,
960 100, 100, 209, 72, 741, 73, 74, 75, 76, 75,
961 75, 74, 74, 74, 74, 74, 74, 74, 74, 74,
Lev Walkinf15320b2004-06-03 03:38:44 +0000962
Lev Walkinadf863f2006-09-05 16:18:34 +0000963 74, 74, 91, 91, 91, 91, 284, 209, 284, 251,
964 74, 74, 74, 74, 74, 90, 241, 285, 209, 78,
965 101, 111, 422, 100, 102, 102, 102, 102, 102, 102,
966 102, 111, 181, 111, 209, 111, 209, 262, 209, 209,
967 111, 74, 74, 74, 105, 111, 106, 106, 106, 106,
968 106, 106, 106, 106, 209, 111, 281, 111, 209, 111,
969 266, 209, 282, 107, 141, 399, 75, 74, 75, 74,
970 75, 76, 75, 75, 74, 74, 74, 74, 74, 74,
971 74, 74, 74, 74, 74, 311, 267, 350, 323, 275,
972 276, 142, 107, 74, 74, 74, 74, 74, 111, 268,
Lev Walkinf15320b2004-06-03 03:38:44 +0000973
Lev Walkinadf863f2006-09-05 16:18:34 +0000974 181, 118, 78, 618, 111, 119, 446, 126, 111, 120,
975 111, 121, 111, 312, 111, 332, 111, 111, 111, 111,
976 286, 122, 741, 111, 74, 74, 74, 181, 357, 111,
977 127, 128, 181, 111, 183, 183, 183, 183, 111, 484,
978 736, 129, 735, 734, 181, 733, 465, 732, 287, 75,
979 74, 75, 33, 79, 80, 79, 79, 33, 33, 81,
980 33, 33, 33, 33, 82, 83, 33, 84, 33, 33,
981 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
982 33, 85, 85, 85, 85, 85, 85, 85, 85, 85,
983 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
Lev Walkinf15320b2004-06-03 03:38:44 +0000984
Lev Walkinadf863f2006-09-05 16:18:34 +0000985 85, 85, 85, 85, 85, 85, 85, 86, 87, 33,
986 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
987 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
988 33, 33, 88, 33, 89, 90, 111, 731, 284, 153,
989 284, 730, 419, 419, 419, 419, 111, 729, 111, 285,
990 111, 728, 94, 727, 209, 111, 95, 95, 95, 95,
991 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
992 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
993 95, 95, 209, 209, 96, 97, 97, 97, 97, 97,
994 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
Lev Walkinf15320b2004-06-03 03:38:44 +0000995
Lev Walkinadf863f2006-09-05 16:18:34 +0000996 97, 97, 97, 97, 97, 97, 97, 105, 209, 108,
997 108, 108, 108, 108, 108, 108, 108, 130, 111, 209,
998 209, 143, 144, 421, 209, 145, 107, 741, 111, 726,
999 111, 111, 111, 111, 131, 146, 209, 111, 139, 111,
1000 111, 209, 382, 521, 725, 625, 140, 348, 209, 111,
1001 147, 111, 209, 111, 209, 107, 110, 327, 111, 111,
1002 111, 111, 111, 111, 111, 111, 111, 209, 342, 349,
1003 209, 209, 111, 112, 111, 111, 111, 111, 111, 111,
1004 111, 111, 111, 113, 111, 114, 111, 115, 111, 111,
1005 111, 111, 116, 111, 111, 111, 111, 111, 404, 417,
Lev Walkinf15320b2004-06-03 03:38:44 +00001006
Lev Walkinadf863f2006-09-05 16:18:34 +00001007 383, 117, 117, 117, 117, 117, 117, 117, 117, 117,
1008 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
1009 117, 117, 117, 111, 447, 209, 209, 395, 134, 111,
1010 209, 135, 410, 111, 209, 111, 209, 111, 209, 111,
1011 136, 137, 111, 111, 209, 209, 138, 209, 111, 209,
1012 148, 111, 209, 149, 209, 132, 209, 98, 98, 98,
1013 98, 150, 209, 111, 193, 111, 133, 151, 111, 209,
1014 111, 154, 98, 98, 416, 155, 158, 209, 111, 460,
1015 111, 209, 111, 468, 159, 111, 156, 111, 111, 481,
1016 418, 157, 463, 209, 152, 111, 427, 111, 111, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001017
Lev Walkinadf863f2006-09-05 16:18:34 +00001018 162, 160, 111, 474, 111, 448, 163, 111, 111, 473,
1019 209, 111, 477, 596, 480, 488, 723, 161, 111, 111,
1020 111, 111, 111, 111, 505, 111, 166, 111, 164, 111,
1021 111, 111, 722, 111, 169, 169, 169, 169, 111, 721,
1022 506, 479, 530, 209, 165, 209, 209, 209, 209, 170,
1023 170, 170, 170, 170, 170, 171, 171, 180, 169, 169,
1024 169, 169, 180, 180, 180, 180, 180, 180, 180, 180,
1025 180, 180, 180, 170, 170, 170, 170, 170, 170, 171,
1026 171, 180, 180, 180, 180, 180, 105, 111, 106, 106,
1027 106, 106, 106, 106, 106, 106, 507, 111, 741, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001028
Lev Walkinadf863f2006-09-05 16:18:34 +00001029 529, 111, 542, 209, 204, 107, 111, 534, 533, 209,
1030 716, 741, 180, 180, 180, 737, 715, 714, 209, 209,
1031 209, 105, 518, 197, 197, 197, 197, 197, 197, 197,
1032 197, 209, 709, 209, 107, 209, 209, 556, 180, 180,
1033 107, 640, 738, 209, 180, 180, 180, 180, 180, 180,
1034 180, 180, 180, 180, 180, 199, 199, 199, 199, 199,
1035 199, 199, 199, 180, 180, 180, 180, 180, 532, 107,
1036 566, 105, 107, 106, 106, 106, 106, 106, 106, 106,
1037 106, 182, 199, 199, 199, 199, 199, 199, 199, 199,
1038 107, 209, 535, 209, 180, 180, 180, 200, 209, 200,
Lev Walkinf15320b2004-06-03 03:38:44 +00001039
Lev Walkinadf863f2006-09-05 16:18:34 +00001040 209, 107, 199, 199, 199, 199, 199, 199, 199, 199,
1041 199, 199, 199, 199, 199, 199, 199, 199, 209, 107,
1042 180, 105, 111, 108, 108, 108, 108, 108, 108, 108,
1043 108, 209, 205, 111, 111, 707, 111, 209, 519, 111,
1044 107, 111, 536, 111, 526, 111, 209, 111, 706, 111,
1045 705, 111, 111, 207, 209, 271, 206, 557, 111, 171,
1046 171, 171, 171, 171, 171, 171, 171, 568, 699, 107,
1047 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1048 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1049 203, 203, 111, 111, 573, 209, 578, 209, 210, 577,
Lev Walkinf15320b2004-06-03 03:38:44 +00001050
Lev Walkinadf863f2006-09-05 16:18:34 +00001051 209, 570, 111, 111, 111, 111, 111, 111, 111, 111,
1052 208, 111, 111, 209, 696, 209, 209, 209, 111, 111,
1053 111, 111, 111, 212, 111, 209, 211, 111, 111, 554,
1054 111, 574, 209, 209, 111, 209, 111, 213, 111, 209,
1055 111, 209, 111, 111, 111, 214, 111, 579, 555, 111,
1056 209, 216, 111, 576, 209, 209, 111, 691, 111, 215,
1057 111, 209, 111, 111, 111, 111, 111, 586, 598, 209,
1058 209, 111, 612, 111, 217, 218, 111, 111, 209, 220,
1059 219, 209, 111, 209, 607, 690, 111, 595, 111, 111,
1060 111, 111, 634, 111, 597, 111, 111, 224, 111, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001061
Lev Walkinadf863f2006-09-05 16:18:34 +00001062 221, 222, 209, 604, 614, 609, 111, 111, 111, 111,
1063 225, 111, 610, 111, 226, 111, 605, 227, 223, 111,
1064 111, 111, 209, 615, 209, 231, 111, 629, 209, 602,
1065 111, 209, 111, 228, 111, 111, 613, 209, 111, 111,
1066 209, 232, 209, 628, 209, 111, 111, 111, 111, 111,
1067 111, 209, 111, 642, 111, 209, 111, 111, 111, 209,
1068 233, 111, 234, 209, 209, 111, 674, 737, 689, 637,
1069 684, 111, 111, 111, 639, 111, 643, 653, 235, 236,
1070 111, 209, 111, 111, 111, 237, 111, 209, 630, 111,
1071 655, 111, 209, 111, 738, 111, 682, 111, 209, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001072
Lev Walkinadf863f2006-09-05 16:18:34 +00001073 111, 239, 111, 111, 636, 238, 209, 654, 111, 209,
1074 240, 641, 111, 111, 111, 209, 111, 644, 209, 111,
1075 658, 242, 209, 111, 645, 111, 111, 111, 111, 111,
1076 111, 209, 111, 209, 243, 111, 209, 111, 673, 111,
1077 111, 111, 209, 111, 675, 660, 209, 111, 111, 111,
1078 111, 111, 111, 111, 111, 244, 111, 209, 246, 111,
1079 663, 679, 665, 111, 111, 111, 661, 111, 209, 671,
1080 209, 668, 111, 247, 111, 667, 111, 111, 111, 680,
1081 249, 209, 678, 248, 250, 209, 209, 111, 209, 111,
1082 670, 111, 252, 111, 209, 666, 111, 669, 710, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001083
Lev Walkinadf863f2006-09-05 16:18:34 +00001084 209, 209, 683, 253, 209, 111, 686, 111, 693, 111,
1085 111, 111, 111, 111, 254, 209, 111, 255, 111, 209,
1086 111, 681, 111, 687, 111, 259, 111, 111, 111, 111,
1087 111, 209, 257, 664, 256, 111, 662, 111, 111, 258,
1088 698, 111, 685, 688, 111, 703, 111, 694, 111, 260,
1089 111, 695, 111, 209, 111, 111, 111, 111, 111, 718,
1090 708, 111, 209, 111, 659, 111, 697, 111, 263, 111,
1091 209, 111, 700, 111, 261, 111, 111, 111, 264, 209,
1092 111, 265, 616, 616, 616, 616, 111, 111, 111, 111,
1093 111, 111, 209, 272, 269, 111, 111, 171, 171, 171,
Lev Walkinf15320b2004-06-03 03:38:44 +00001094
Lev Walkinadf863f2006-09-05 16:18:34 +00001095 171, 171, 171, 171, 171, 105, 702, 197, 197, 197,
1096 197, 197, 197, 197, 197, 111, 111, 651, 288, 711,
1097 647, 701, 209, 646, 107, 111, 111, 111, 111, 111,
1098 111, 111, 111, 209, 111, 111, 712, 209, 209, 638,
1099 635, 111, 289, 111, 111, 111, 111, 111, 209, 209,
1100 111, 111, 724, 107, 110, 111, 619, 111, 111, 111,
1101 290, 111, 291, 617, 606, 111, 111, 111, 111, 111,
1102 111, 111, 111, 704, 111, 209, 209, 111, 603, 111,
1103 209, 111, 569, 111, 713, 111, 717, 565, 292, 293,
1104 111, 111, 539, 111, 616, 616, 616, 616, 111, 203,
Lev Walkinf15320b2004-06-03 03:38:44 +00001105
Lev Walkinadf863f2006-09-05 16:18:34 +00001106 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1107 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1108 203, 111, 111, 538, 523, 485, 719, 720, 423, 295,
1109 356, 111, 111, 111, 111, 111, 111, 294, 111, 111,
1110 111, 111, 358, 191, 189, 187, 185, 181, 111, 111,
1111 111, 111, 111, 297, 111, 296, 356, 111, 111, 167,
1112 741, 209, 282, 191, 111, 189, 111, 278, 111, 300,
1113 111, 298, 299, 111, 185, 617, 111, 301, 181, 302,
1114 111, 274, 111, 273, 111, 167, 111, 111, 111, 111,
1115 111, 209, 201, 111, 198, 111, 194, 111, 191, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001116
Lev Walkinadf863f2006-09-05 16:18:34 +00001117 303, 111, 189, 111, 111, 111, 111, 111, 188, 187,
1118 111, 187, 111, 305, 111, 304, 111, 185, 111, 104,
1119 111, 111, 111, 111, 111, 184, 179, 111, 177, 111,
1120 308, 306, 104, 111, 307, 111, 175, 111, 111, 111,
1121 111, 111, 174, 173, 167, 109, 111, 103, 111, 111,
1122 111, 93, 111, 90, 90, 309, 741, 111, 741, 111,
1123 310, 111, 111, 111, 741, 741, 741, 741, 111, 741,
1124 111, 741, 111, 111, 111, 741, 111, 741, 741, 313,
1125 111, 111, 314, 315, 111, 111, 316, 111, 111, 111,
1126 741, 111, 111, 741, 111, 741, 741, 319, 317, 741,
Lev Walkinf15320b2004-06-03 03:38:44 +00001127
Lev Walkinadf863f2006-09-05 16:18:34 +00001128 111, 111, 111, 111, 111, 111, 111, 111, 111, 318,
1129 111, 320, 111, 111, 741, 741, 741, 741, 741, 741,
1130 111, 741, 111, 111, 111, 741, 111, 741, 741, 741,
1131 111, 111, 111, 111, 111, 111, 111, 111, 741, 111,
1132 741, 741, 321, 741, 111, 741, 322, 324, 111, 741,
1133 111, 741, 741, 741, 111, 111, 111, 111, 111, 741,
1134 325, 741, 741, 111, 741, 111, 741, 111, 111, 111,
1135 741, 111, 326, 741, 741, 111, 111, 111, 111, 111,
1136 111, 111, 111, 741, 111, 741, 328, 111, 741, 111,
1137 741, 111, 741, 111, 741, 111, 741, 111, 741, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001138
Lev Walkinadf863f2006-09-05 16:18:34 +00001139 111, 111, 741, 111, 741, 111, 329, 111, 111, 111,
1140 741, 111, 741, 741, 330, 111, 111, 111, 111, 111,
1141 334, 111, 741, 741, 111, 331, 741, 741, 333, 111,
1142 111, 111, 111, 111, 741, 111, 741, 111, 741, 111,
1143 111, 111, 111, 111, 741, 741, 741, 741, 335, 741,
1144 111, 741, 111, 336, 111, 741, 111, 741, 111, 741,
1145 111, 111, 111, 741, 111, 337, 111, 741, 111, 111,
1146 111, 741, 111, 741, 741, 741, 111, 111, 111, 111,
1147 111, 741, 741, 741, 338, 111, 741, 111, 741, 111,
1148 741, 111, 741, 111, 741, 741, 339, 111, 111, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001149
Lev Walkinadf863f2006-09-05 16:18:34 +00001150 111, 111, 741, 341, 340, 741, 111, 741, 111, 741,
1151 111, 741, 111, 741, 111, 741, 741, 347, 111, 111,
1152 111, 343, 111, 344, 111, 111, 741, 111, 345, 741,
1153 741, 741, 741, 741, 111, 111, 111, 111, 111, 111,
1154 111, 741, 346, 111, 111, 741, 351, 741, 741, 741,
1155 111, 741, 111, 741, 111, 352, 352, 352, 352, 111,
1156 741, 741, 741, 354, 354, 354, 354, 741, 741, 741,
1157 353, 353, 353, 353, 353, 353, 353, 353, 355, 355,
1158 355, 355, 355, 355, 355, 355, 111, 111, 741, 741,
1159 741, 741, 741, 741, 360, 741, 111, 111, 359, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001160
Lev Walkinadf863f2006-09-05 16:18:34 +00001161 111, 111, 111, 741, 741, 111, 111, 741, 111, 741,
1162 741, 741, 111, 361, 111, 741, 111, 741, 111, 111,
1163 362, 111, 111, 741, 741, 111, 741, 111, 364, 111,
1164 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1165 365, 111, 111, 366, 111, 741, 741, 741, 741, 741,
1166 741, 111, 111, 111, 111, 111, 111, 111, 741, 741,
1167 111, 111, 741, 741, 363, 111, 741, 111, 741, 111,
1168 741, 111, 741, 111, 367, 111, 111, 111, 368, 111,
1169 741, 741, 741, 111, 111, 111, 111, 111, 370, 111,
1170 741, 369, 111, 741, 741, 741, 111, 111, 111, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001171
Lev Walkinadf863f2006-09-05 16:18:34 +00001172 111, 111, 741, 111, 741, 371, 741, 111, 111, 372,
1173 111, 111, 373, 111, 741, 374, 111, 741, 741, 741,
1174 111, 741, 111, 111, 111, 111, 741, 111, 111, 111,
1175 741, 375, 111, 741, 111, 741, 741, 741, 111, 741,
1176 111, 741, 111, 741, 111, 111, 111, 111, 376, 741,
1177 741, 111, 377, 111, 741, 111, 741, 111, 741, 111,
1178 741, 111, 111, 111, 111, 111, 741, 378, 741, 741,
1179 111, 741, 111, 741, 379, 741, 111, 111, 380, 741,
1180 381, 111, 741, 111, 741, 741, 741, 111, 741, 111,
1181 741, 111, 741, 111, 111, 111, 111, 111, 741, 741,
Lev Walkinf15320b2004-06-03 03:38:44 +00001182
Lev Walkinadf863f2006-09-05 16:18:34 +00001183 111, 741, 111, 741, 111, 741, 111, 741, 111, 741,
1184 111, 741, 111, 111, 111, 111, 111, 741, 385, 111,
1185 741, 741, 386, 741, 741, 111, 111, 111, 111, 111,
1186 111, 111, 387, 741, 111, 111, 389, 111, 741, 384,
1187 741, 111, 741, 111, 393, 111, 741, 111, 741, 111,
1188 388, 111, 111, 390, 741, 111, 111, 391, 741, 741,
1189 741, 741, 111, 111, 111, 111, 111, 111, 392, 111,
1190 741, 111, 741, 111, 111, 111, 111, 111, 741, 741,
1191 394, 741, 111, 741, 111, 396, 111, 111, 111, 741,
1192 111, 741, 741, 741, 111, 111, 111, 111, 111, 111,
Lev Walkinf15320b2004-06-03 03:38:44 +00001193
Lev Walkinadf863f2006-09-05 16:18:34 +00001194 111, 111, 741, 111, 401, 397, 111, 741, 111, 741,
1195 111, 400, 111, 398, 111, 741, 741, 741, 111, 111,
1196 111, 111, 111, 741, 741, 741, 741, 111, 741, 111,
1197 741, 111, 402, 111, 741, 111, 403, 111, 741, 111,
1198 111, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1199 741, 111, 741, 111, 741, 111, 111, 111, 741, 111,
1200 741, 741, 741, 111, 111, 111, 111, 111, 741, 406,
1201 741, 405, 111, 741, 111, 741, 111, 111, 111, 741,
1202 111, 741, 741, 741, 111, 111, 111, 111, 111, 407,
1203 741, 111, 111, 111, 408, 111, 111, 741, 111, 741,
Lev Walkinf15320b2004-06-03 03:38:44 +00001204
Lev Walkinadf863f2006-09-05 16:18:34 +00001205 741, 741, 111, 741, 111, 111, 111, 111, 111, 111,
1206 111, 111, 111, 111, 111, 741, 111, 111, 741, 111,
1207 741, 741, 741, 111, 741, 111, 111, 111, 411, 111,
1208 111, 111, 111, 111, 741, 111, 111, 409, 412, 413,
1209 741, 741, 111, 741, 741, 741, 111, 741, 111, 741,
1210 111, 741, 111, 111, 111, 111, 111, 741, 741, 741,
1211 741, 111, 741, 111, 741, 111, 741, 111, 741, 111,
1212 415, 741, 111, 741, 352, 352, 352, 352, 414, 111,
1213 741, 111, 741, 111, 741, 741, 741, 741, 111, 353,
1214 353, 353, 353, 353, 353, 353, 353, 419, 419, 419,
Lev Walkinf59d0752004-08-18 04:59:12 +00001215
Lev Walkinadf863f2006-09-05 16:18:34 +00001216 419, 741, 741, 741, 741, 741, 741, 741, 420, 741,
1217 741, 741, 353, 353, 353, 353, 353, 353, 353, 353,
1218 354, 354, 354, 354, 741, 741, 741, 741, 741, 741,
1219 741, 741, 741, 741, 741, 355, 355, 355, 355, 355,
1220 355, 355, 355, 420, 741, 111, 741, 355, 355, 355,
1221 355, 355, 355, 355, 355, 111, 741, 111, 741, 111,
1222 111, 425, 741, 424, 111, 741, 741, 741, 741, 741,
1223 111, 741, 111, 111, 111, 426, 111, 741, 421, 111,
1224 741, 741, 741, 111, 741, 111, 111, 111, 111, 741,
1225 111, 741, 111, 428, 111, 111, 741, 111, 429, 741,
Lev Walkind9574ae2005-03-24 16:22:35 +00001226
Lev Walkinadf863f2006-09-05 16:18:34 +00001227 111, 741, 741, 430, 111, 741, 111, 111, 111, 111,
1228 111, 111, 111, 111, 111, 111, 111, 741, 111, 111,
1229 741, 741, 741, 741, 741, 111, 111, 111, 111, 111,
1230 431, 741, 111, 741, 111, 741, 111, 111, 111, 111,
1231 111, 741, 432, 741, 741, 111, 433, 111, 741, 111,
1232 741, 111, 741, 111, 741, 741, 741, 434, 111, 111,
1233 111, 111, 741, 435, 741, 741, 111, 436, 741, 741,
1234 111, 111, 111, 437, 111, 741, 741, 111, 741, 111,
1235 438, 111, 741, 111, 439, 111, 741, 111, 111, 111,
1236 111, 111, 741, 741, 741, 741, 111, 741, 111, 111,
Lev Walkind9574ae2005-03-24 16:22:35 +00001237
Lev Walkinadf863f2006-09-05 16:18:34 +00001238 111, 741, 111, 741, 440, 741, 741, 111, 741, 111,
1239 741, 111, 741, 111, 111, 442, 741, 441, 111, 741,
1240 111, 741, 741, 741, 111, 741, 111, 741, 111, 741,
1241 111, 111, 111, 111, 111, 741, 741, 111, 443, 111,
1242 741, 111, 741, 111, 741, 111, 741, 111, 444, 445,
1243 111, 111, 111, 111, 741, 741, 111, 741, 741, 741,
1244 449, 741, 111, 111, 111, 111, 111, 111, 741, 741,
1245 111, 111, 111, 111, 450, 741, 451, 741, 741, 741,
1246 111, 741, 111, 111, 111, 111, 741, 111, 452, 111,
1247 111, 111, 111, 453, 741, 741, 741, 741, 741, 741,
Lev Walkind9574ae2005-03-24 16:22:35 +00001248
Lev Walkinadf863f2006-09-05 16:18:34 +00001249 111, 111, 454, 111, 111, 111, 111, 741, 741, 111,
1250 111, 741, 111, 741, 741, 456, 111, 741, 111, 741,
1251 111, 741, 111, 111, 111, 455, 111, 458, 741, 741,
1252 459, 111, 741, 111, 741, 111, 111, 111, 741, 741,
1253 457, 741, 111, 741, 111, 741, 111, 111, 111, 741,
1254 111, 741, 741, 741, 111, 111, 111, 111, 111, 111,
1255 111, 111, 461, 111, 741, 741, 111, 741, 111, 741,
1256 111, 741, 111, 741, 111, 741, 111, 741, 111, 111,
1257 462, 741, 111, 741, 111, 741, 111, 111, 111, 741,
1258 111, 741, 464, 741, 111, 111, 466, 111, 111, 741,
Lev Walkin2535a692005-07-02 21:42:40 +00001259
Lev Walkinadf863f2006-09-05 16:18:34 +00001260 741, 741, 741, 111, 741, 741, 741, 111, 741, 111,
1261 111, 111, 741, 111, 741, 467, 111, 469, 741, 741,
1262 111, 111, 111, 111, 111, 470, 471, 111, 741, 111,
1263 741, 111, 111, 111, 111, 111, 741, 741, 741, 741,
1264 111, 741, 741, 741, 111, 111, 111, 741, 111, 741,
1265 741, 111, 741, 111, 475, 111, 472, 111, 741, 111,
1266 741, 111, 111, 111, 111, 111, 741, 741, 741, 741,
1267 111, 741, 111, 111, 111, 741, 111, 741, 476, 741,
1268 741, 111, 741, 111, 741, 111, 741, 111, 482, 482,
1269 482, 482, 111, 741, 741, 741, 741, 741, 741, 741,
Lev Walkin2535a692005-07-02 21:42:40 +00001270
Lev Walkinadf863f2006-09-05 16:18:34 +00001271 741, 111, 741, 483, 483, 483, 483, 483, 483, 483,
1272 483, 111, 741, 111, 111, 111, 486, 111, 478, 741,
1273 111, 741, 741, 741, 111, 111, 111, 111, 111, 111,
1274 741, 111, 487, 111, 741, 111, 111, 489, 111, 111,
1275 741, 111, 741, 741, 111, 741, 741, 741, 111, 741,
1276 111, 111, 111, 111, 741, 111, 490, 111, 111, 741,
1277 111, 491, 741, 492, 111, 741, 741, 741, 111, 741,
1278 111, 741, 111, 741, 111, 111, 111, 111, 111, 741,
1279 741, 111, 741, 111, 741, 111, 741, 493, 741, 111,
1280 741, 111, 741, 111, 111, 111, 111, 741, 495, 494,
Lev Walkin2535a692005-07-02 21:42:40 +00001281
Lev Walkinadf863f2006-09-05 16:18:34 +00001282 111, 741, 111, 741, 741, 741, 111, 741, 111, 741,
1283 111, 741, 111, 741, 111, 111, 111, 741, 741, 111,
1284 496, 111, 497, 741, 741, 111, 741, 498, 741, 111,
1285 741, 111, 741, 111, 741, 111, 111, 111, 111, 111,
1286 741, 500, 111, 741, 111, 741, 111, 741, 499, 741,
1287 111, 741, 111, 111, 111, 111, 111, 741, 741, 111,
1288 741, 111, 741, 111, 741, 111, 501, 111, 741, 111,
1289 111, 111, 111, 111, 741, 741, 111, 741, 111, 741,
1290 111, 741, 111, 503, 111, 741, 111, 502, 111, 111,
1291 111, 504, 111, 111, 741, 111, 741, 508, 741, 741,
Lev Walkin2535a692005-07-02 21:42:40 +00001292
Lev Walkinadf863f2006-09-05 16:18:34 +00001293 741, 741, 111, 111, 111, 111, 111, 111, 111, 741,
1294 741, 111, 111, 741, 111, 509, 510, 741, 111, 741,
1295 111, 741, 111, 741, 111, 111, 111, 111, 111, 741,
1296 741, 111, 741, 111, 512, 111, 741, 111, 741, 111,
1297 741, 111, 511, 111, 111, 111, 111, 513, 741, 741,
1298 111, 741, 111, 514, 741, 741, 111, 741, 111, 741,
1299 111, 741, 111, 111, 111, 111, 111, 741, 741, 741,
1300 741, 111, 741, 111, 741, 111, 741, 111, 111, 515,
1301 741, 516, 111, 741, 111, 741, 741, 741, 111, 741,
1302 111, 741, 111, 741, 111, 111, 111, 111, 111, 741,
Lev Walkin2535a692005-07-02 21:42:40 +00001303
Lev Walkinadf863f2006-09-05 16:18:34 +00001304 741, 517, 741, 111, 741, 111, 741, 111, 111, 111,
1305 520, 111, 741, 741, 111, 741, 741, 741, 111, 111,
1306 522, 111, 111, 111, 741, 111, 741, 111, 741, 111,
1307 111, 111, 111, 111, 741, 525, 741, 524, 111, 741,
1308 111, 741, 111, 741, 111, 741, 111, 741, 741, 741,
1309 111, 111, 111, 741, 111, 111, 528, 741, 111, 111,
1310 527, 111, 741, 741, 741, 111, 741, 111, 111, 111,
1311 111, 111, 111, 111, 111, 111, 111, 111, 741, 111,
1312 111, 741, 741, 741, 741, 741, 111, 741, 111, 111,
1313 111, 111, 741, 111, 111, 111, 531, 741, 111, 482,
Lev Walkin2535a692005-07-02 21:42:40 +00001314
Lev Walkinadf863f2006-09-05 16:18:34 +00001315 482, 482, 482, 741, 111, 741, 111, 741, 111, 741,
1316 741, 741, 540, 111, 483, 483, 483, 483, 483, 483,
1317 483, 483, 537, 741, 741, 741, 483, 483, 483, 483,
1318 483, 483, 483, 483, 111, 111, 741, 741, 741, 741,
1319 741, 541, 741, 741, 111, 111, 111, 111, 111, 111,
1320 741, 111, 111, 111, 111, 543, 741, 741, 741, 741,
1321 741, 111, 111, 544, 111, 111, 111, 111, 111, 741,
1322 111, 111, 741, 741, 545, 546, 741, 111, 111, 111,
1323 111, 111, 111, 111, 111, 741, 111, 111, 741, 741,
1324 741, 741, 741, 111, 111, 111, 111, 111, 111, 111,
Lev Walkin2535a692005-07-02 21:42:40 +00001325
Lev Walkinadf863f2006-09-05 16:18:34 +00001326 741, 741, 111, 111, 741, 111, 547, 548, 741, 111,
1327 741, 111, 741, 111, 741, 111, 111, 111, 111, 111,
1328 741, 741, 111, 741, 111, 741, 111, 549, 111, 741,
1329 111, 741, 111, 111, 111, 111, 111, 741, 741, 741,
1330 741, 111, 741, 111, 111, 111, 741, 111, 741, 741,
1331 741, 550, 111, 741, 111, 111, 111, 741, 111, 741,
1332 741, 552, 551, 111, 741, 111, 741, 111, 741, 111,
1333 741, 111, 111, 111, 111, 111, 741, 741, 111, 741,
1334 111, 741, 553, 741, 111, 558, 111, 741, 111, 111,
1335 111, 111, 111, 741, 741, 741, 741, 111, 741, 111,
Lev Walkin2535a692005-07-02 21:42:40 +00001336
Lev Walkinadf863f2006-09-05 16:18:34 +00001337 111, 111, 741, 111, 741, 741, 111, 559, 111, 741,
1338 111, 741, 111, 741, 111, 741, 111, 111, 111, 111,
1339 111, 741, 741, 111, 741, 111, 561, 111, 741, 111,
1340 741, 111, 741, 111, 560, 111, 111, 111, 111, 111,
1341 741, 741, 111, 741, 741, 741, 741, 741, 111, 111,
1342 111, 111, 111, 111, 111, 563, 562, 111, 111, 741,
1343 111, 741, 741, 741, 111, 741, 111, 741, 111, 741,
1344 111, 111, 111, 111, 111, 741, 741, 111, 741, 111,
1345 741, 567, 741, 111, 741, 111, 741, 111, 111, 111,
1346 111, 111, 741, 741, 111, 741, 111, 741, 111, 741,
Lev Walkin2535a692005-07-02 21:42:40 +00001347
Lev Walkinadf863f2006-09-05 16:18:34 +00001348 111, 741, 111, 741, 111, 564, 111, 111, 111, 111,
1349 741, 741, 571, 111, 741, 111, 741, 741, 572, 111,
1350 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1351 575, 111, 741, 741, 111, 741, 580, 580, 580, 580,
1352 741, 111, 741, 111, 741, 111, 741, 741, 741, 741,
1353 111, 581, 581, 581, 581, 581, 581, 581, 581, 111,
1354 111, 585, 741, 741, 741, 741, 584, 741, 741, 111,
1355 111, 111, 111, 111, 111, 111, 741, 741, 111, 111,
1356 741, 741, 741, 111, 741, 111, 111, 111, 741, 111,
1357 741, 587, 741, 111, 111, 111, 111, 111, 589, 111,
Lev Walkin2535a692005-07-02 21:42:40 +00001358
Lev Walkinadf863f2006-09-05 16:18:34 +00001359 111, 588, 111, 741, 741, 111, 592, 111, 741, 111,
1360 741, 590, 741, 111, 741, 111, 741, 111, 111, 111,
1361 591, 111, 741, 111, 741, 111, 111, 111, 741, 111,
1362 741, 741, 741, 111, 111, 111, 111, 111, 741, 593,
1363 741, 741, 111, 741, 111, 741, 111, 741, 111, 741,
1364 111, 741, 111, 741, 111, 111, 111, 741, 111, 594,
1365 111, 741, 111, 111, 111, 741, 111, 741, 741, 741,
1366 111, 111, 111, 111, 111, 741, 599, 741, 741, 111,
1367 741, 111, 741, 111, 111, 111, 741, 111, 741, 741,
1368 741, 111, 111, 111, 111, 111, 111, 111, 111, 741,
Lev Walkin2535a692005-07-02 21:42:40 +00001369
Lev Walkinadf863f2006-09-05 16:18:34 +00001370 111, 741, 741, 111, 741, 111, 741, 111, 111, 111,
1371 741, 111, 600, 741, 741, 111, 111, 111, 111, 111,
1372 111, 111, 111, 741, 111, 608, 601, 111, 741, 111,
1373 741, 111, 741, 111, 741, 111, 741, 741, 741, 111,
1374 111, 111, 111, 111, 741, 111, 741, 741, 111, 741,
1375 741, 741, 111, 741, 111, 611, 111, 111, 741, 111,
1376 111, 111, 741, 741, 111, 580, 580, 580, 580, 741,
1377 111, 741, 111, 620, 111, 741, 741, 741, 111, 111,
1378 581, 581, 581, 581, 581, 581, 581, 581, 111, 111,
1379 111, 741, 111, 741, 741, 111, 741, 111, 741, 111,
Lev Walkin2535a692005-07-02 21:42:40 +00001380
Lev Walkinadf863f2006-09-05 16:18:34 +00001381 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1382 111, 111, 621, 622, 111, 741, 623, 741, 741, 741,
1383 111, 111, 111, 111, 111, 111, 111, 741, 741, 111,
1384 111, 741, 111, 741, 626, 741, 111, 741, 624, 741,
1385 111, 741, 111, 111, 111, 111, 111, 741, 741, 111,
1386 741, 111, 741, 627, 741, 111, 741, 111, 741, 111,
1387 111, 111, 111, 111, 741, 631, 741, 741, 111, 741,
1388 111, 111, 111, 632, 111, 741, 741, 111, 633, 111,
1389 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1390 111, 111, 741, 741, 111, 741, 111, 741, 111, 741,
Lev Walkin2535a692005-07-02 21:42:40 +00001391
Lev Walkinadf863f2006-09-05 16:18:34 +00001392 648, 741, 111, 741, 111, 741, 111, 111, 111, 111,
1393 111, 649, 741, 111, 741, 741, 741, 741, 741, 111,
1394 111, 111, 111, 111, 111, 111, 111, 741, 111, 111,
1395 741, 741, 741, 741, 741, 111, 111, 111, 111, 111,
1396 111, 111, 650, 741, 111, 111, 741, 111, 652, 741,
1397 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1398 111, 111, 741, 741, 741, 741, 111, 741, 111, 111,
1399 656, 741, 111, 741, 741, 111, 741, 111, 741, 111,
1400 741, 111, 657, 111, 741, 111, 111, 111, 111, 111,
1401 741, 741, 111, 741, 111, 741, 111, 741, 111, 741,
Lev Walkin9d542d22006-03-14 16:31:37 +00001402
Lev Walkinadf863f2006-09-05 16:18:34 +00001403 111, 741, 111, 111, 111, 111, 111, 741, 741, 741,
1404 741, 111, 741, 111, 111, 111, 741, 111, 741, 741,
1405 111, 672, 111, 741, 111, 741, 111, 741, 111, 741,
1406 111, 676, 677, 111, 111, 111, 111, 741, 741, 111,
1407 741, 741, 741, 741, 741, 111, 111, 111, 111, 111,
1408 111, 111, 111, 741, 111, 111, 741, 741, 692, 741,
1409 741, 111, 111, 111, 111, 111, 111, 741, 741, 741,
1410 111, 111, 55, 55, 55, 55, 55, 55, 55, 55,
1411 55, 55, 55, 55, 55, 60, 60, 60, 60, 60,
1412 60, 60, 60, 60, 60, 60, 60, 60, 65, 65,
Lev Walkin2535a692005-07-02 21:42:40 +00001413
Lev Walkinadf863f2006-09-05 16:18:34 +00001414 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1415 65, 68, 68, 68, 68, 68, 68, 68, 68, 68,
1416 68, 68, 68, 68, 77, 77, 77, 77, 77, 77,
1417 77, 77, 77, 77, 77, 77, 77, 92, 92, 92,
1418 92, 741, 92, 92, 92, 92, 92, 92, 92, 92,
1419 99, 99, 99, 741, 99, 741, 99, 741, 99, 168,
1420 168, 741, 168, 168, 172, 172, 741, 741, 172, 172,
1421 741, 172, 172, 172, 172, 172, 172, 176, 176, 176,
1422 176, 741, 176, 176, 176, 176, 176, 176, 176, 176,
1423 178, 178, 178, 178, 178, 178, 178, 178, 741, 178,
Lev Walkin4696c742005-08-22 12:23:54 +00001424
Lev Walkinadf863f2006-09-05 16:18:34 +00001425 178, 180, 741, 741, 741, 180, 180, 180, 180, 180,
1426 180, 180, 181, 741, 741, 741, 181, 181, 181, 181,
1427 181, 181, 181, 186, 186, 741, 186, 186, 190, 190,
1428 741, 190, 190, 192, 192, 741, 192, 192, 202, 741,
1429 202, 202, 117, 117, 741, 117, 117, 270, 741, 270,
1430 270, 277, 741, 277, 277, 279, 741, 279, 279, 280,
1431 741, 280, 280, 283, 283, 283, 283, 283, 283, 283,
1432 283, 283, 283, 283, 283, 283, 203, 203, 741, 203,
1433 203, 583, 583, 741, 583, 583, 583, 583, 583, 583,
1434 583, 583, 583, 583, 581, 581, 581, 741, 741, 741,
Lev Walkin4696c742005-08-22 12:23:54 +00001435
Lev Walkinadf863f2006-09-05 16:18:34 +00001436 581, 741, 741, 741, 741, 581, 17, 741, 741, 741,
1437 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1438 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1439 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1440 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1441 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1442 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1443 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1444 741, 741, 741, 741, 741, 741, 741, 741, 741, 741
Lev Walkin2535a692005-07-02 21:42:40 +00001445 } ;
1446
Lev Walkin03892812010-11-03 09:33:03 -07001447static yyconst flex_int16_t yy_chk[4591] =
Lev Walkin2535a692005-07-02 21:42:40 +00001448 { 0,
1449 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1450 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1451 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinadf863f2006-09-05 16:18:34 +00001457 1, 1, 1, 3, 3, 3, 4, 4, 4, 5,
1458 5, 5, 133, 11, 3, 9, 7, 4, 8, 9,
Lev Walkin2535a692005-07-02 21:42:40 +00001459
Lev Walkinadf863f2006-09-05 16:18:34 +00001460 5, 6, 6, 6, 7, 12, 8, 147, 132, 7,
1461 10, 8, 6, 739, 10, 11, 101, 29, 11, 29,
1462 7, 96, 8, 79, 79, 79, 79, 12, 738, 101,
1463 12, 19, 19, 19, 19, 81, 538, 133, 19, 20,
1464 20, 20, 20, 538, 196, 36, 20, 24, 24, 24,
1465 24, 36, 81, 96, 24, 36, 152, 36, 36, 36,
1466 142, 147, 24, 24, 36, 132, 26, 80, 80, 80,
1467 80, 11, 196, 11, 26, 26, 26, 26, 26, 26,
1468 26, 26, 161, 12, 81, 12, 13, 13, 13, 13,
Lev Walkin9d542d22006-03-14 16:31:37 +00001469 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
Lev Walkin2535a692005-07-02 21:42:40 +00001470
Lev Walkinadf863f2006-09-05 16:18:34 +00001471 13, 13, 91, 91, 91, 91, 195, 164, 195, 152,
1472 13, 13, 13, 13, 13, 27, 142, 195, 327, 13,
1473 27, 41, 357, 27, 27, 27, 27, 27, 27, 27,
1474 27, 41, 357, 41, 268, 41, 229, 161, 165, 241,
1475 41, 13, 13, 13, 30, 44, 30, 30, 30, 30,
1476 30, 30, 30, 30, 230, 44, 193, 44, 251, 44,
1477 164, 382, 193, 30, 44, 327, 13, 13, 13, 14,
Lev Walkin9d542d22006-03-14 16:31:37 +00001478 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
Lev Walkinadf863f2006-09-05 16:18:34 +00001479 14, 14, 14, 14, 14, 229, 165, 268, 241, 182,
1480 182, 44, 30, 14, 14, 14, 14, 14, 35, 165,
Lev Walkin2535a692005-07-02 21:42:40 +00001481
Lev Walkinadf863f2006-09-05 16:18:34 +00001482 182, 35, 14, 582, 37, 35, 382, 37, 35, 35,
1483 35, 35, 35, 230, 37, 251, 37, 35, 37, 38,
1484 286, 35, 401, 37, 14, 14, 14, 275, 275, 38,
1485 38, 38, 582, 38, 183, 183, 183, 183, 38, 422,
1486 735, 38, 734, 733, 422, 732, 401, 731, 286, 14,
1487 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
Lev Walkin9d542d22006-03-14 16:31:37 +00001488 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1489 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1490 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1491 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1492
1493 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1494 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1495 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
Lev Walkinadf863f2006-09-05 16:18:34 +00001496 15, 15, 15, 15, 15, 23, 47, 730, 285, 47,
1497 285, 729, 419, 419, 419, 419, 47, 728, 47, 285,
1498 47, 727, 23, 726, 724, 47, 23, 23, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001499 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1500 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkinadf863f2006-09-05 16:18:34 +00001501 23, 23, 311, 266, 23, 23, 23, 23, 23, 23,
1502 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001503
Lev Walkinadf863f2006-09-05 16:18:34 +00001504 23, 23, 23, 23, 23, 23, 23, 31, 245, 31,
1505 31, 31, 31, 31, 31, 31, 31, 39, 39, 262,
1506 267, 45, 45, 419, 463, 45, 31, 592, 39, 722,
1507 39, 45, 39, 45, 39, 45, 332, 39, 43, 43,
1508 45, 349, 311, 463, 721, 592, 43, 266, 312, 43,
1509 45, 43, 720, 43, 719, 31, 34, 245, 43, 34,
1510 34, 34, 34, 34, 34, 34, 34, 323, 262, 267,
1511 342, 383, 34, 34, 34, 34, 34, 34, 34, 34,
1512 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1513 34, 34, 34, 34, 34, 34, 34, 34, 332, 349,
Lev Walkin2535a692005-07-02 21:42:40 +00001514
Lev Walkinadf863f2006-09-05 16:18:34 +00001515 312, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1516 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1517 34, 34, 34, 40, 383, 348, 395, 323, 42, 42,
1518 399, 42, 342, 40, 418, 40, 363, 40, 404, 42,
1519 42, 42, 40, 42, 350, 384, 42, 555, 42, 409,
1520 46, 46, 417, 46, 410, 40, 414, 98, 98, 98,
1521 98, 46, 427, 46, 98, 46, 40, 46, 48, 446,
1522 46, 48, 98, 98, 348, 48, 49, 474, 48, 395,
1523 48, 416, 48, 404, 49, 49, 48, 48, 50, 418,
1524 350, 48, 399, 447, 46, 49, 363, 49, 50, 49,
Lev Walkin2535a692005-07-02 21:42:40 +00001525
Lev Walkinadf863f2006-09-05 16:18:34 +00001526 50, 49, 50, 410, 49, 384, 50, 50, 51, 409,
1527 717, 111, 414, 555, 417, 427, 716, 49, 51, 52,
1528 51, 111, 51, 111, 446, 111, 52, 51, 50, 52,
1529 111, 52, 715, 52, 54, 54, 54, 54, 52, 714,
1530 447, 416, 474, 448, 51, 488, 479, 473, 478, 54,
1531 54, 54, 54, 54, 54, 54, 54, 77, 169, 169,
1532 169, 169, 77, 77, 77, 77, 77, 77, 77, 77,
1533 77, 77, 77, 169, 169, 169, 169, 169, 169, 169,
1534 169, 77, 77, 77, 77, 77, 100, 112, 100, 100,
1535 100, 100, 100, 100, 100, 100, 448, 112, 459, 112,
Lev Walkin2535a692005-07-02 21:42:40 +00001536
Lev Walkinadf863f2006-09-05 16:18:34 +00001537 473, 112, 488, 506, 112, 100, 112, 479, 478, 713,
1538 707, 608, 77, 77, 77, 736, 706, 705, 704, 477,
1539 701, 102, 459, 102, 102, 102, 102, 102, 102, 102,
1540 102, 697, 696, 695, 100, 693, 519, 506, 77, 78,
1541 102, 608, 736, 480, 78, 78, 78, 78, 78, 78,
1542 78, 78, 78, 78, 78, 105, 105, 105, 105, 105,
1543 105, 105, 105, 78, 78, 78, 78, 78, 477, 102,
1544 519, 106, 105, 106, 106, 106, 106, 106, 106, 106,
1545 106, 78, 199, 199, 199, 199, 199, 199, 199, 199,
1546 106, 460, 480, 481, 78, 78, 78, 107, 468, 107,
Lev Walkin2535a692005-07-02 21:42:40 +00001547
Lev Walkinadf863f2006-09-05 16:18:34 +00001548 507, 105, 107, 107, 107, 107, 107, 107, 107, 107,
1549 200, 200, 200, 200, 200, 200, 200, 200, 521, 106,
1550 78, 108, 113, 108, 108, 108, 108, 108, 108, 108,
1551 108, 535, 113, 114, 113, 691, 113, 529, 460, 115,
1552 108, 113, 481, 114, 468, 114, 526, 114, 690, 115,
1553 689, 115, 114, 115, 534, 170, 114, 507, 115, 170,
1554 170, 170, 170, 170, 170, 170, 170, 521, 682, 108,
1555 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1556 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1557 110, 110, 116, 118, 529, 505, 535, 530, 118, 534,
Lev Walkin2535a692005-07-02 21:42:40 +00001558
Lev Walkinadf863f2006-09-05 16:18:34 +00001559 533, 526, 116, 118, 116, 118, 116, 118, 119, 120,
1560 116, 116, 118, 536, 679, 576, 542, 557, 119, 120,
1561 119, 120, 119, 120, 121, 554, 119, 119, 120, 505,
1562 122, 530, 556, 678, 121, 570, 121, 121, 121, 602,
1563 122, 566, 122, 121, 122, 123, 123, 536, 505, 122,
1564 574, 124, 124, 533, 573, 568, 123, 671, 123, 123,
1565 123, 579, 124, 125, 124, 123, 124, 542, 557, 564,
1566 578, 124, 576, 125, 125, 125, 126, 125, 596, 127,
1567 126, 577, 125, 595, 570, 670, 126, 554, 126, 127,
1568 126, 127, 602, 127, 556, 126, 129, 129, 127, 128,
Lev Walkin2535a692005-07-02 21:42:40 +00001569
Lev Walkinadf863f2006-09-05 16:18:34 +00001570 128, 128, 612, 566, 578, 573, 129, 130, 129, 128,
1571 129, 128, 574, 128, 129, 129, 568, 130, 128, 130,
1572 131, 130, 605, 579, 628, 134, 130, 596, 597, 564,
1573 131, 654, 131, 131, 131, 134, 577, 630, 135, 131,
1574 607, 135, 613, 595, 604, 134, 136, 134, 135, 134,
1575 135, 610, 135, 612, 134, 614, 136, 135, 136, 629,
1576 136, 137, 137, 634, 615, 136, 654, 737, 669, 605,
1577 664, 137, 138, 137, 607, 137, 613, 628, 137, 137,
1578 137, 653, 138, 139, 138, 138, 138, 655, 597, 140,
1579 630, 138, 636, 139, 737, 139, 662, 139, 639, 140,
Lev Walkin2535a692005-07-02 21:42:40 +00001580
Lev Walkinadf863f2006-09-05 16:18:34 +00001581 141, 140, 139, 140, 604, 139, 637, 629, 140, 641,
1582 141, 610, 141, 143, 141, 644, 144, 614, 645, 141,
1583 634, 143, 660, 143, 615, 143, 144, 143, 144, 145,
1584 144, 658, 143, 643, 144, 144, 698, 146, 653, 145,
1585 148, 145, 663, 145, 655, 636, 666, 146, 145, 146,
1586 148, 146, 148, 149, 148, 146, 146, 673, 148, 148,
1587 639, 659, 641, 149, 150, 149, 637, 149, 661, 651,
1588 667, 645, 149, 149, 150, 644, 150, 151, 150, 660,
1589 151, 681, 658, 150, 151, 665, 668, 151, 687, 151,
1590 647, 151, 153, 153, 674, 643, 151, 646, 698, 154,
Lev Walkin2535a692005-07-02 21:42:40 +00001591
Lev Walkinadf863f2006-09-05 16:18:34 +00001592 675, 710, 663, 153, 694, 153, 666, 153, 673, 154,
1593 155, 154, 153, 154, 154, 680, 156, 154, 154, 683,
1594 155, 661, 155, 667, 155, 158, 156, 157, 156, 155,
1595 156, 642, 156, 640, 155, 156, 638, 157, 158, 157,
1596 681, 157, 665, 668, 159, 687, 157, 674, 158, 159,
1597 158, 675, 158, 686, 159, 160, 159, 158, 159, 710,
1598 694, 162, 700, 159, 635, 160, 680, 160, 162, 160,
1599 685, 162, 683, 162, 160, 162, 166, 163, 163, 702,
1600 162, 163, 581, 581, 581, 581, 166, 163, 166, 163,
1601 166, 163, 718, 171, 166, 166, 163, 171, 171, 171,
Lev Walkin2535a692005-07-02 21:42:40 +00001602
Lev Walkinadf863f2006-09-05 16:18:34 +00001603 171, 171, 171, 171, 171, 197, 686, 197, 197, 197,
1604 197, 197, 197, 197, 197, 204, 205, 625, 204, 700,
1605 619, 685, 688, 618, 197, 204, 205, 204, 205, 204,
1606 205, 206, 207, 703, 204, 205, 702, 708, 609, 606,
1607 603, 206, 207, 206, 207, 206, 207, 208, 598, 586,
1608 206, 207, 718, 197, 202, 210, 583, 208, 211, 208,
1609 208, 208, 210, 581, 569, 210, 208, 210, 211, 210,
1610 211, 212, 211, 688, 210, 711, 712, 211, 565, 213,
1611 532, 212, 523, 212, 703, 212, 708, 518, 212, 213,
1612 212, 213, 485, 213, 616, 616, 616, 616, 213, 202,
Lev Walkin2535a692005-07-02 21:42:40 +00001613
Lev Walkinadf863f2006-09-05 16:18:34 +00001614 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
1615 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
1616 202, 214, 215, 484, 465, 423, 711, 712, 358, 215,
1617 356, 214, 215, 214, 215, 214, 215, 214, 216, 217,
1618 214, 215, 287, 280, 279, 278, 277, 276, 216, 217,
1619 216, 217, 216, 217, 218, 216, 273, 216, 217, 270,
1620 209, 203, 194, 192, 218, 190, 218, 188, 218, 219,
1621 219, 218, 218, 218, 186, 616, 220, 219, 181, 220,
1622 219, 179, 219, 174, 219, 168, 220, 221, 220, 219,
1623 220, 117, 109, 222, 103, 220, 99, 221, 97, 221,
Lev Walkin2535a692005-07-02 21:42:40 +00001624
Lev Walkinadf863f2006-09-05 16:18:34 +00001625 221, 221, 95, 222, 223, 222, 221, 222, 94, 93,
1626 224, 90, 222, 224, 223, 223, 223, 85, 223, 84,
1627 224, 225, 224, 223, 224, 83, 70, 226, 67, 224,
1628 226, 225, 63, 225, 225, 225, 62, 226, 227, 226,
1629 225, 226, 59, 58, 53, 32, 226, 28, 227, 228,
1630 227, 22, 227, 21, 18, 227, 17, 227, 0, 228,
1631 228, 228, 231, 228, 0, 0, 0, 0, 228, 0,
1632 232, 0, 231, 233, 231, 0, 231, 0, 0, 231,
1633 232, 231, 232, 233, 232, 233, 233, 233, 234, 232,
1634 0, 235, 233, 0, 236, 0, 0, 236, 234, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001635
Lev Walkinadf863f2006-09-05 16:18:34 +00001636 234, 235, 234, 235, 236, 235, 236, 234, 236, 235,
1637 235, 237, 238, 236, 0, 0, 0, 0, 0, 0,
1638 237, 0, 238, 239, 238, 0, 238, 0, 0, 0,
1639 237, 238, 237, 239, 237, 239, 240, 239, 0, 237,
1640 0, 0, 239, 0, 242, 0, 240, 242, 240, 0,
1641 240, 0, 0, 0, 242, 240, 242, 243, 242, 0,
1642 243, 0, 0, 242, 0, 244, 0, 243, 246, 243,
1643 0, 243, 244, 0, 0, 244, 243, 244, 246, 244,
1644 246, 247, 246, 0, 244, 0, 246, 246, 0, 248,
1645 0, 247, 0, 247, 0, 247, 0, 249, 0, 248,
Lev Walkin2535a692005-07-02 21:42:40 +00001646
Lev Walkinadf863f2006-09-05 16:18:34 +00001647 247, 248, 0, 248, 0, 250, 248, 249, 248, 249,
1648 0, 249, 0, 0, 249, 250, 249, 250, 252, 250,
1649 253, 253, 0, 0, 250, 250, 0, 0, 252, 254,
1650 252, 253, 252, 253, 0, 253, 0, 252, 0, 254,
1651 253, 254, 255, 254, 0, 0, 0, 0, 254, 0,
1652 256, 0, 255, 256, 255, 0, 255, 0, 257, 0,
1653 256, 255, 256, 0, 256, 257, 258, 0, 257, 256,
1654 257, 0, 257, 0, 0, 0, 258, 257, 258, 259,
1655 258, 0, 0, 0, 258, 258, 0, 260, 0, 259,
1656 0, 259, 0, 259, 0, 0, 259, 260, 259, 260,
Lev Walkin2535a692005-07-02 21:42:40 +00001657
Lev Walkinadf863f2006-09-05 16:18:34 +00001658 261, 260, 0, 261, 260, 0, 260, 0, 263, 0,
1659 261, 0, 261, 0, 261, 0, 0, 265, 263, 261,
1660 263, 263, 263, 263, 264, 265, 0, 263, 263, 0,
1661 0, 0, 0, 0, 264, 265, 264, 265, 264, 265,
1662 269, 0, 264, 264, 265, 0, 269, 0, 0, 0,
1663 269, 0, 269, 0, 269, 271, 271, 271, 271, 269,
1664 0, 0, 0, 272, 272, 272, 272, 0, 0, 0,
1665 271, 271, 271, 271, 271, 271, 271, 271, 272, 272,
1666 272, 272, 272, 272, 272, 272, 288, 289, 0, 0,
1667 0, 0, 0, 0, 289, 0, 288, 289, 288, 289,
Lev Walkin2535a692005-07-02 21:42:40 +00001668
Lev Walkinadf863f2006-09-05 16:18:34 +00001669 288, 289, 290, 0, 0, 288, 289, 0, 291, 0,
1670 0, 0, 290, 290, 290, 0, 290, 0, 291, 292,
1671 291, 290, 291, 0, 0, 293, 0, 291, 293, 292,
1672 0, 292, 0, 292, 0, 293, 0, 293, 292, 293,
1673 294, 294, 295, 295, 293, 0, 0, 0, 0, 0,
1674 0, 294, 295, 294, 295, 294, 295, 296, 0, 0,
1675 294, 295, 0, 0, 292, 297, 0, 296, 0, 296,
1676 0, 296, 0, 298, 296, 297, 296, 297, 297, 297,
1677 0, 0, 0, 298, 297, 298, 300, 298, 299, 299,
1678 0, 298, 298, 0, 0, 0, 300, 301, 300, 299,
Lev Walkin2535a692005-07-02 21:42:40 +00001679
Lev Walkinadf863f2006-09-05 16:18:34 +00001680 300, 299, 0, 299, 0, 300, 0, 301, 299, 301,
1681 302, 301, 302, 303, 0, 303, 301, 0, 0, 0,
1682 302, 0, 302, 303, 302, 303, 0, 303, 304, 302,
1683 0, 304, 303, 0, 305, 0, 0, 0, 304, 0,
1684 304, 0, 304, 0, 305, 306, 305, 304, 305, 0,
1685 0, 307, 306, 305, 0, 306, 0, 306, 0, 306,
1686 0, 307, 308, 307, 306, 307, 0, 307, 0, 0,
1687 307, 0, 308, 0, 308, 0, 308, 309, 308, 0,
1688 309, 308, 0, 310, 0, 0, 0, 309, 0, 309,
1689 0, 309, 0, 310, 313, 310, 309, 310, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001690
Lev Walkinadf863f2006-09-05 16:18:34 +00001691 314, 0, 310, 0, 313, 0, 313, 0, 313, 0,
1692 314, 0, 314, 313, 314, 315, 316, 0, 314, 314,
1693 0, 0, 315, 0, 0, 315, 316, 315, 316, 315,
1694 316, 317, 316, 0, 315, 316, 318, 318, 0, 313,
1695 0, 317, 0, 317, 320, 317, 0, 318, 0, 318,
1696 317, 318, 319, 318, 0, 320, 318, 319, 0, 0,
1697 0, 0, 319, 321, 319, 320, 319, 320, 319, 320,
1698 0, 319, 0, 321, 320, 321, 322, 321, 0, 0,
1699 321, 0, 321, 0, 324, 324, 322, 325, 322, 0,
1700 322, 0, 0, 0, 324, 322, 324, 325, 324, 325,
Lev Walkin2535a692005-07-02 21:42:40 +00001701
Lev Walkinadf863f2006-09-05 16:18:34 +00001702 326, 325, 0, 324, 329, 325, 325, 0, 328, 0,
1703 326, 328, 326, 326, 326, 0, 0, 0, 328, 326,
1704 328, 329, 328, 0, 0, 0, 0, 328, 0, 330,
1705 0, 329, 330, 329, 0, 329, 331, 331, 0, 330,
1706 329, 330, 0, 330, 0, 333, 0, 331, 330, 331,
1707 0, 331, 0, 334, 0, 333, 331, 333, 0, 333,
1708 0, 0, 0, 334, 333, 334, 335, 334, 0, 335,
1709 0, 334, 334, 0, 336, 0, 335, 337, 335, 0,
1710 335, 0, 0, 0, 336, 335, 336, 337, 336, 337,
1711 0, 337, 339, 336, 338, 338, 337, 0, 340, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001712
Lev Walkinadf863f2006-09-05 16:18:34 +00001713 0, 0, 339, 0, 339, 338, 339, 338, 340, 338,
1714 340, 339, 340, 341, 338, 0, 343, 340, 0, 344,
1715 0, 0, 0, 341, 0, 341, 343, 341, 343, 344,
1716 343, 344, 341, 344, 0, 343, 345, 339, 344, 345,
1717 0, 0, 346, 0, 0, 0, 345, 0, 345, 0,
1718 345, 0, 346, 347, 346, 345, 346, 0, 0, 0,
1719 0, 346, 0, 347, 0, 347, 0, 347, 0, 351,
1720 347, 0, 347, 0, 352, 352, 352, 352, 346, 351,
1721 0, 351, 0, 351, 0, 0, 0, 0, 351, 352,
1722 352, 352, 352, 352, 352, 352, 352, 353, 353, 353,
Lev Walkin2535a692005-07-02 21:42:40 +00001723
Lev Walkinadf863f2006-09-05 16:18:34 +00001724 353, 0, 0, 0, 0, 0, 0, 0, 353, 0,
1725 0, 0, 353, 353, 353, 353, 353, 353, 353, 353,
1726 354, 354, 354, 354, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 354, 354, 354, 354, 354,
1728 354, 354, 354, 355, 0, 359, 0, 355, 355, 355,
1729 355, 355, 355, 355, 355, 359, 0, 359, 0, 359,
1730 360, 360, 0, 359, 359, 0, 0, 0, 0, 0,
1731 360, 0, 360, 362, 360, 361, 361, 0, 353, 360,
1732 0, 0, 0, 362, 0, 362, 361, 362, 361, 0,
1733 361, 0, 362, 364, 364, 361, 0, 365, 365, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001734
Lev Walkinadf863f2006-09-05 16:18:34 +00001735 366, 0, 0, 366, 364, 0, 364, 365, 364, 365,
1736 366, 365, 366, 364, 366, 367, 365, 0, 368, 366,
1737 0, 0, 0, 0, 0, 367, 369, 367, 368, 367,
1738 368, 0, 368, 0, 367, 0, 369, 368, 369, 370,
1739 369, 0, 369, 0, 0, 369, 370, 371, 0, 370,
1740 0, 370, 0, 370, 0, 0, 0, 371, 370, 371,
1741 372, 371, 0, 372, 0, 0, 371, 372, 0, 0,
1742 372, 373, 372, 373, 372, 0, 0, 374, 0, 372,
1743 374, 373, 0, 373, 374, 373, 0, 374, 375, 374,
1744 373, 374, 0, 0, 0, 0, 374, 0, 375, 376,
Lev Walkin2535a692005-07-02 21:42:40 +00001745
Lev Walkinadf863f2006-09-05 16:18:34 +00001746 375, 0, 375, 0, 375, 0, 0, 375, 0, 376,
1747 0, 376, 0, 376, 377, 377, 0, 376, 376, 0,
1748 378, 0, 0, 0, 377, 0, 377, 0, 377, 0,
1749 378, 379, 378, 377, 378, 0, 0, 380, 378, 378,
1750 0, 379, 0, 379, 0, 379, 0, 380, 379, 380,
1751 379, 380, 381, 385, 0, 0, 380, 0, 0, 0,
1752 385, 0, 381, 385, 381, 385, 381, 385, 0, 0,
1753 387, 381, 385, 386, 386, 0, 386, 0, 0, 0,
1754 387, 0, 387, 386, 387, 386, 0, 386, 387, 387,
1755 389, 388, 386, 388, 0, 0, 0, 0, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001756
Lev Walkinadf863f2006-09-05 16:18:34 +00001757 389, 388, 389, 388, 389, 388, 390, 0, 0, 389,
1758 388, 0, 391, 0, 0, 391, 390, 0, 390, 0,
1759 390, 0, 391, 392, 391, 390, 391, 393, 0, 0,
1760 394, 391, 0, 392, 0, 392, 393, 392, 0, 0,
1761 392, 0, 392, 0, 396, 0, 393, 394, 393, 0,
1762 393, 0, 0, 0, 396, 393, 396, 394, 396, 394,
1763 397, 394, 396, 396, 0, 0, 394, 0, 398, 0,
1764 397, 0, 397, 0, 397, 0, 400, 0, 398, 397,
1765 398, 0, 398, 0, 402, 0, 400, 398, 400, 0,
1766 400, 0, 400, 0, 402, 400, 402, 403, 402, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001767
Lev Walkinadf863f2006-09-05 16:18:34 +00001768 0, 0, 0, 402, 0, 0, 0, 403, 0, 403,
1769 405, 403, 0, 406, 0, 403, 403, 405, 0, 0,
1770 405, 407, 405, 406, 405, 406, 407, 406, 0, 405,
1771 0, 407, 406, 407, 408, 407, 0, 0, 0, 0,
1772 407, 0, 0, 0, 408, 411, 408, 0, 408, 0,
1773 0, 412, 0, 408, 412, 411, 408, 411, 0, 411,
1774 0, 412, 413, 412, 411, 412, 0, 0, 0, 0,
1775 412, 0, 413, 415, 413, 0, 413, 0, 413, 0,
1776 0, 413, 0, 415, 0, 415, 0, 415, 420, 420,
1777 420, 420, 415, 0, 0, 0, 0, 0, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001778
Lev Walkinadf863f2006-09-05 16:18:34 +00001779 0, 424, 0, 420, 420, 420, 420, 420, 420, 420,
1780 420, 424, 0, 424, 426, 424, 425, 425, 415, 0,
1781 424, 0, 0, 0, 426, 428, 426, 425, 426, 425,
1782 0, 425, 426, 426, 0, 428, 425, 428, 429, 428,
1783 0, 430, 0, 0, 428, 0, 0, 0, 429, 0,
1784 429, 430, 429, 430, 0, 430, 429, 429, 431, 0,
1785 430, 431, 0, 432, 432, 0, 0, 0, 431, 0,
1786 431, 0, 431, 0, 432, 433, 432, 431, 432, 0,
1787 0, 434, 0, 432, 0, 433, 0, 433, 0, 433,
1788 0, 434, 0, 434, 433, 434, 435, 0, 435, 434,
Lev Walkin2535a692005-07-02 21:42:40 +00001789
Lev Walkinadf863f2006-09-05 16:18:34 +00001790 434, 0, 436, 0, 0, 0, 435, 0, 435, 0,
1791 435, 0, 436, 0, 436, 435, 436, 0, 0, 437,
1792 436, 436, 437, 0, 0, 438, 0, 438, 0, 437,
1793 0, 437, 0, 437, 0, 438, 439, 438, 437, 438,
1794 0, 440, 440, 0, 438, 0, 439, 0, 439, 0,
1795 439, 0, 440, 441, 440, 439, 440, 0, 0, 442,
1796 0, 440, 0, 441, 0, 441, 442, 441, 0, 442,
1797 443, 442, 441, 442, 0, 0, 444, 0, 442, 0,
1798 443, 0, 443, 444, 443, 0, 444, 443, 444, 443,
1799 444, 445, 445, 449, 0, 444, 0, 449, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001800
Lev Walkinadf863f2006-09-05 16:18:34 +00001801 0, 0, 445, 449, 445, 449, 445, 449, 450, 0,
1802 0, 445, 449, 0, 451, 450, 451, 0, 450, 0,
1803 450, 0, 450, 0, 451, 452, 451, 450, 451, 0,
1804 0, 453, 0, 451, 453, 452, 0, 452, 0, 452,
1805 0, 453, 452, 453, 452, 453, 454, 454, 0, 0,
1806 453, 0, 455, 455, 0, 0, 454, 0, 454, 0,
1807 454, 0, 455, 456, 455, 454, 455, 0, 0, 0,
1808 0, 455, 0, 456, 0, 456, 0, 456, 457, 456,
1809 0, 457, 456, 0, 458, 0, 0, 0, 457, 0,
1810 457, 0, 457, 0, 458, 461, 458, 457, 458, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001811
Lev Walkinadf863f2006-09-05 16:18:34 +00001812 0, 458, 0, 458, 0, 461, 0, 461, 464, 461,
1813 462, 462, 0, 0, 461, 0, 0, 0, 464, 466,
1814 464, 462, 464, 462, 0, 462, 0, 464, 0, 466,
1815 462, 466, 467, 466, 0, 467, 0, 466, 466, 0,
1816 469, 0, 467, 0, 467, 0, 467, 0, 0, 0,
1817 469, 467, 469, 0, 469, 470, 470, 0, 471, 469,
1818 469, 472, 0, 0, 0, 470, 0, 470, 471, 470,
1819 471, 472, 471, 472, 470, 472, 475, 471, 0, 476,
1820 472, 0, 0, 0, 0, 0, 475, 0, 475, 476,
1821 475, 476, 0, 476, 486, 475, 476, 0, 476, 482,
Lev Walkin2535a692005-07-02 21:42:40 +00001822
Lev Walkinadf863f2006-09-05 16:18:34 +00001823 482, 482, 482, 0, 486, 0, 486, 0, 486, 0,
1824 0, 0, 486, 486, 482, 482, 482, 482, 482, 482,
1825 482, 482, 483, 0, 0, 0, 483, 483, 483, 483,
1826 483, 483, 483, 483, 487, 489, 0, 0, 0, 0,
1827 0, 487, 0, 0, 487, 489, 487, 489, 487, 489,
1828 0, 491, 490, 487, 489, 490, 0, 0, 0, 0,
1829 0, 491, 490, 491, 490, 491, 490, 492, 493, 0,
1830 491, 490, 0, 0, 492, 493, 0, 492, 493, 492,
1831 493, 492, 493, 494, 495, 0, 492, 493, 0, 0,
1832 0, 0, 0, 494, 495, 494, 495, 494, 495, 496,
Lev Walkin2535a692005-07-02 21:42:40 +00001833
Lev Walkinadf863f2006-09-05 16:18:34 +00001834 0, 0, 494, 495, 0, 497, 496, 497, 0, 496,
1835 0, 496, 0, 496, 0, 497, 498, 497, 496, 497,
1836 0, 0, 499, 0, 497, 0, 498, 499, 498, 0,
1837 498, 0, 499, 500, 499, 498, 499, 0, 0, 0,
1838 0, 499, 0, 500, 501, 500, 0, 500, 0, 0,
1839 0, 500, 500, 0, 501, 502, 501, 0, 501, 0,
1840 0, 503, 501, 501, 0, 502, 0, 502, 0, 502,
1841 0, 503, 504, 503, 502, 503, 0, 0, 508, 0,
1842 503, 0, 504, 0, 504, 508, 504, 0, 508, 509,
1843 508, 504, 508, 0, 0, 0, 0, 508, 0, 509,
Lev Walkin2535a692005-07-02 21:42:40 +00001844
Lev Walkinadf863f2006-09-05 16:18:34 +00001845 510, 509, 0, 509, 0, 0, 511, 509, 509, 0,
1846 510, 0, 510, 0, 510, 0, 511, 512, 511, 510,
1847 511, 0, 0, 513, 0, 511, 513, 512, 0, 512,
1848 0, 512, 0, 513, 512, 513, 512, 513, 514, 515,
1849 0, 0, 513, 0, 0, 0, 0, 0, 514, 515,
1850 514, 515, 514, 515, 516, 516, 514, 514, 515, 0,
1851 517, 0, 0, 0, 516, 0, 516, 0, 516, 0,
1852 517, 520, 517, 516, 517, 0, 0, 522, 0, 517,
1853 0, 520, 0, 520, 0, 520, 0, 522, 524, 522,
1854 520, 522, 0, 0, 525, 0, 522, 0, 524, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001855
Lev Walkinadf863f2006-09-05 16:18:34 +00001856 524, 0, 524, 0, 525, 517, 525, 524, 525, 527,
1857 0, 0, 527, 525, 0, 528, 0, 0, 528, 527,
1858 0, 527, 0, 527, 0, 528, 0, 528, 527, 528,
1859 531, 531, 0, 0, 528, 0, 537, 537, 537, 537,
1860 0, 531, 0, 531, 0, 531, 0, 0, 0, 0,
1861 531, 537, 537, 537, 537, 537, 537, 537, 537, 540,
1862 541, 541, 0, 0, 0, 0, 540, 0, 0, 540,
1863 541, 540, 541, 540, 541, 543, 0, 0, 540, 541,
1864 0, 0, 0, 544, 0, 543, 545, 543, 0, 543,
1865 0, 543, 0, 544, 543, 544, 545, 544, 545, 546,
Lev Walkin2535a692005-07-02 21:42:40 +00001866
Lev Walkinadf863f2006-09-05 16:18:34 +00001867 545, 544, 544, 0, 0, 545, 549, 547, 0, 546,
1868 0, 546, 0, 546, 0, 548, 0, 547, 546, 547,
1869 547, 547, 0, 549, 0, 548, 547, 548, 0, 548,
1870 0, 0, 0, 549, 548, 549, 550, 549, 0, 550,
1871 0, 0, 549, 0, 551, 0, 550, 0, 550, 0,
1872 550, 0, 552, 0, 551, 550, 551, 0, 551, 552,
1873 553, 0, 552, 551, 552, 0, 552, 0, 0, 0,
1874 553, 552, 553, 558, 553, 0, 558, 0, 0, 553,
1875 0, 559, 0, 558, 560, 558, 0, 558, 0, 0,
1876 0, 559, 558, 559, 560, 559, 560, 561, 560, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001877
Lev Walkinadf863f2006-09-05 16:18:34 +00001878 559, 0, 0, 560, 0, 562, 0, 561, 563, 561,
1879 0, 561, 562, 0, 0, 562, 561, 562, 563, 562,
1880 563, 567, 563, 0, 562, 571, 563, 563, 0, 572,
1881 0, 567, 0, 567, 0, 567, 0, 0, 0, 572,
1882 567, 572, 571, 572, 0, 575, 0, 0, 572, 0,
1883 0, 0, 571, 0, 571, 575, 571, 575, 0, 575,
1884 584, 571, 0, 0, 575, 580, 580, 580, 580, 0,
1885 584, 0, 584, 584, 584, 0, 0, 0, 585, 584,
1886 580, 580, 580, 580, 580, 580, 580, 580, 585, 587,
1887 585, 0, 585, 0, 0, 588, 0, 585, 0, 587,
Lev Walkin2535a692005-07-02 21:42:40 +00001888
Lev Walkinadf863f2006-09-05 16:18:34 +00001889 0, 587, 0, 587, 0, 588, 0, 588, 587, 588,
1890 589, 590, 588, 589, 588, 0, 590, 0, 0, 0,
1891 589, 590, 589, 590, 589, 590, 591, 0, 0, 589,
1892 590, 0, 593, 0, 593, 0, 591, 0, 591, 0,
1893 591, 0, 593, 594, 593, 591, 593, 0, 0, 599,
1894 0, 593, 0, 594, 0, 594, 0, 594, 0, 599,
1895 600, 599, 594, 599, 0, 599, 0, 0, 599, 0,
1896 600, 601, 600, 600, 600, 0, 0, 611, 601, 600,
1897 0, 601, 0, 601, 0, 601, 0, 611, 620, 611,
1898 601, 611, 0, 0, 621, 0, 611, 0, 620, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001899
Lev Walkinadf863f2006-09-05 16:18:34 +00001900 620, 0, 620, 0, 621, 0, 621, 620, 621, 622,
1901 623, 622, 0, 621, 0, 0, 0, 0, 0, 622,
1902 623, 622, 623, 622, 623, 624, 626, 0, 622, 623,
1903 0, 0, 0, 0, 0, 624, 626, 624, 626, 624,
1904 626, 627, 624, 0, 624, 626, 0, 631, 627, 0,
1905 0, 627, 0, 627, 0, 627, 0, 631, 632, 631,
1906 627, 631, 0, 0, 0, 0, 631, 0, 632, 633,
1907 632, 0, 632, 0, 0, 648, 0, 632, 0, 633,
1908 0, 633, 633, 633, 0, 648, 649, 648, 633, 648,
1909 0, 0, 650, 0, 648, 0, 649, 0, 649, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001910
Lev Walkinadf863f2006-09-05 16:18:34 +00001911 649, 0, 650, 652, 650, 649, 650, 0, 0, 0,
1912 0, 650, 0, 652, 656, 652, 0, 652, 0, 0,
1913 657, 652, 652, 0, 656, 0, 656, 0, 656, 0,
1914 657, 656, 657, 656, 657, 672, 676, 0, 0, 657,
1915 0, 0, 0, 0, 0, 672, 676, 672, 676, 672,
1916 676, 677, 692, 0, 672, 676, 0, 0, 672, 0,
1917 0, 677, 692, 677, 692, 677, 692, 0, 0, 0,
1918 677, 692, 742, 742, 742, 742, 742, 742, 742, 742,
1919 742, 742, 742, 742, 742, 743, 743, 743, 743, 743,
1920 743, 743, 743, 743, 743, 743, 743, 743, 744, 744,
Lev Walkin4696c742005-08-22 12:23:54 +00001921
Lev Walkinadf863f2006-09-05 16:18:34 +00001922 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
1923 744, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1924 745, 745, 745, 745, 746, 746, 746, 746, 746, 746,
1925 746, 746, 746, 746, 746, 746, 746, 747, 747, 747,
1926 747, 0, 747, 747, 747, 747, 747, 747, 747, 747,
1927 748, 748, 748, 0, 748, 0, 748, 0, 748, 749,
1928 749, 0, 749, 749, 750, 750, 0, 0, 750, 750,
1929 0, 750, 750, 750, 750, 750, 750, 751, 751, 751,
1930 751, 0, 751, 751, 751, 751, 751, 751, 751, 751,
1931 752, 752, 752, 752, 752, 752, 752, 752, 0, 752,
Lev Walkin4696c742005-08-22 12:23:54 +00001932
Lev Walkinadf863f2006-09-05 16:18:34 +00001933 752, 753, 0, 0, 0, 753, 753, 753, 753, 753,
1934 753, 753, 754, 0, 0, 0, 754, 754, 754, 754,
1935 754, 754, 754, 755, 755, 0, 755, 755, 756, 756,
1936 0, 756, 756, 757, 757, 0, 757, 757, 758, 0,
1937 758, 758, 759, 759, 0, 759, 759, 760, 0, 760,
1938 760, 761, 0, 761, 761, 762, 0, 762, 762, 763,
1939 0, 763, 763, 764, 764, 764, 764, 764, 764, 764,
1940 764, 764, 764, 764, 764, 764, 765, 765, 0, 765,
1941 765, 766, 766, 0, 766, 766, 766, 766, 766, 766,
1942 766, 766, 766, 766, 767, 767, 767, 0, 0, 0,
Lev Walkin9d542d22006-03-14 16:31:37 +00001943
Lev Walkinadf863f2006-09-05 16:18:34 +00001944 767, 0, 0, 0, 0, 767, 741, 741, 741, 741,
1945 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1946 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1947 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1948 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1949 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1950 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1951 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1952 741, 741, 741, 741, 741, 741, 741, 741, 741, 741
Lev Walkinf15320b2004-06-03 03:38:44 +00001953 } ;
1954
Lev Walkin03892812010-11-03 09:33:03 -07001955/* Table of booleans, true if rule could match eol. */
1956static yyconst flex_int32_t yy_rule_can_match_eol[139] =
1957 { 0,
19581, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1,
1959 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, };
Lev Walkinf15320b2004-06-03 03:38:44 +00001965
Lev Walkin03892812010-11-03 09:33:03 -07001966extern int asn1p__flex_debug;
1967int asn1p__flex_debug = 1;
1968
1969static yyconst flex_int16_t yy_rule_linenum[138] =
Lev Walkinf15320b2004-06-03 03:38:44 +00001970 { 0,
Lev Walkinadf863f2006-09-05 16:18:34 +00001971 96, 97, 99, 102, 104, 107, 109, 110, 111, 114,
1972 116, 117, 118, 130, 137, 144, 150, 159, 167, 175,
1973 176, 178, 197, 203, 204, 205, 206, 207, 210, 216,
1974 223, 230, 237, 244, 251, 252, 253, 261, 262, 263,
1975 264, 265, 270, 271, 272, 273, 274, 275, 276, 277,
1976 278, 279, 280, 289, 290, 291, 292, 293, 294, 295,
1977 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1978 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1979 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1980 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
Lev Walkinf15320b2004-06-03 03:38:44 +00001981
Lev Walkinadf863f2006-09-05 16:18:34 +00001982 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1983 346, 351, 352, 357, 358, 359, 362, 367, 373, 381,
1984 391, 396, 398, 399, 403, 408, 413, 419, 420, 422,
1985 428, 441, 444, 469, 513, 515, 526
Lev Walkinf15320b2004-06-03 03:38:44 +00001986 } ;
1987
Lev Walkin03892812010-11-03 09:33:03 -07001988static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
Lev Walkinf15320b2004-06-03 03:38:44 +00001989static char *yy_full_match;
1990static int yy_lp;
1991#define REJECT \
1992{ \
Lev Walkin03892812010-11-03 09:33:03 -07001993*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */ \
1994yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
1995++(yy_lp); \
Lev Walkinf15320b2004-06-03 03:38:44 +00001996goto find_rule; \
1997}
Lev Walkin03892812010-11-03 09:33:03 -07001998
Lev Walkinf15320b2004-06-03 03:38:44 +00001999#define yymore() yymore_used_but_not_detected
2000#define YY_MORE_ADJ 0
2001#define YY_RESTORE_YY_MORE_OFFSET
Lev Walkin03892812010-11-03 09:33:03 -07002002char *asn1p_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00002003#line 1 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002004#line 2 "asn1p_l.l"
2005
2006#include <string.h>
2007#include <errno.h>
2008#include <assert.h>
2009
2010#include "asn1parser.h"
2011#include "asn1p_y.h"
2012
2013int asn1p_lex(void);
2014void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
2015void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
Lev Walkinf59d0752004-08-18 04:59:12 +00002016void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
Lev Walkinf15320b2004-06-03 03:38:44 +00002017
2018#define YY_FATAL_ERROR(msg) do { \
2019 fprintf(stderr, \
2020 "lexer error at line %d, " \
2021 "text \"%s\"\n", \
Lev Walkin03892812010-11-03 09:33:03 -07002022 asn1p_lineno, asn1p_text); \
Lev Walkinf15320b2004-06-03 03:38:44 +00002023 exit(1); \
2024 } while(0)
2025
2026int asn1p_lexer_pedantic_1990 = 0;
2027int asn1p_lexer_types_year = 0;
2028int asn1p_lexer_constructs_year = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00002029
Lev Walkin4696c742005-08-22 12:23:54 +00002030int asn1p_as_pointer;
2031
Lev Walkind370e9f2006-03-16 10:03:35 +00002032static asn1c_integer_t _lex_atoi(const char *ptr);
Lev Walkinadf863f2006-09-05 16:18:34 +00002033static double _lex_atod(const char *ptr);
Lev Walkind370e9f2006-03-16 10:03:35 +00002034
Lev Walkinf15320b2004-06-03 03:38:44 +00002035/*
2036 * Check that the type is defined in the year of the standard choosen.
2037 */
2038#define TYPE_LIFETIME(fyr, lyr) \
2039 (!asn1p_lexer_types_year \
2040 || (fyr && fyr <= asn1p_lexer_types_year) \
2041 || (lyr && lyr > asn1p_lexer_types_year))
2042
2043/*
2044 * Check the the construction (or concept, i.e. CLASS) is defined in
2045 * a given year.
2046 */
2047#define CONSTRUCT_LIFETIME(fyr, lyr) \
2048 (!asn1p_lexer_constructs_year \
2049 || (fyr && fyr <= asn1p_lexer_constructs_year) \
2050 || (lyr && lyr > asn1p_lexer_constructs_year))
2051
2052/*
Lev Walkinf15320b2004-06-03 03:38:44 +00002053 * Append quoted string.
2054 */
2055#define QAPPEND(text, tlen) do { \
2056 char *prev_text = asn1p_lval.tv_opaque.buf; \
2057 int prev_len = asn1p_lval.tv_opaque.len; \
2058 char *p; \
2059 \
2060 p = malloc((tlen) + prev_len + 1); \
2061 if(p == NULL) return -1; \
2062 \
2063 if(prev_text) memcpy(p, prev_text, prev_len); \
2064 memcpy(p + prev_len, text, tlen); \
2065 p[prev_len + (tlen)] = '\0'; \
2066 \
2067 free(asn1p_lval.tv_opaque.buf); \
2068 asn1p_lval.tv_opaque.buf = p; \
2069 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
2070 } while(0)
2071
Lev Walkinf15320b2004-06-03 03:38:44 +00002072#define YY_NO_INPUT 1
Lev Walkinf15320b2004-06-03 03:38:44 +00002073/* Performance penalty is OK */
2074/* Controlled from within application */
Lev Walkinf15320b2004-06-03 03:38:44 +00002075
Lev Walkinf15320b2004-06-03 03:38:44 +00002076
Lev Walkinf15320b2004-06-03 03:38:44 +00002077
Lev Walkinf15320b2004-06-03 03:38:44 +00002078
Lev Walkinf59d0752004-08-18 04:59:12 +00002079
Lev Walkin2535a692005-07-02 21:42:40 +00002080
Lev Walkinf15320b2004-06-03 03:38:44 +00002081
2082/* Newline */
2083/* White-space */
Lev Walkin03892812010-11-03 09:33:03 -07002084#line 2085 "asn1p_l.c"
2085
2086#define INITIAL 0
2087#define dash_comment 1
2088#define idash_comment 2
2089#define cpp_comment 3
2090#define quoted 4
2091#define opaque 5
2092#define encoding_control 6
2093#define with_syntax 7
2094
2095#ifndef YY_NO_UNISTD_H
2096/* Special case for "unistd.h", since it is non-ANSI. We include it way
2097 * down here because we want the user's section 1 to have been scanned first.
2098 * The user has a chance to override it with an option.
2099 */
2100/* %if-c-only */
2101#include <unistd.h>
2102/* %endif */
2103/* %if-c++-only */
2104/* %endif */
2105#endif
2106
2107#ifndef YY_EXTRA_TYPE
2108#define YY_EXTRA_TYPE void *
2109#endif
2110
2111/* %if-c-only Reentrant structure and macros (non-C++). */
2112/* %if-reentrant */
2113/* %if-c-only */
2114
2115static int yy_init_globals (void );
2116
2117/* %endif */
2118/* %if-reentrant */
2119/* %endif */
2120/* %endif End reentrant structures and macros. */
2121
2122/* Accessor methods to globals.
2123 These are made visible to non-reentrant scanners for convenience. */
2124
2125int asn1p_lex_destroy (void );
2126
2127int asn1p_get_debug (void );
2128
2129void asn1p_set_debug (int debug_flag );
2130
2131YY_EXTRA_TYPE asn1p_get_extra (void );
2132
2133void asn1p_set_extra (YY_EXTRA_TYPE user_defined );
2134
2135FILE *asn1p_get_in (void );
2136
2137void asn1p_set_in (FILE * in_str );
2138
2139FILE *asn1p_get_out (void );
2140
2141void asn1p_set_out (FILE * out_str );
2142
2143int asn1p_get_leng (void );
2144
2145char *asn1p_get_text (void );
2146
2147int asn1p_get_lineno (void );
2148
2149void asn1p_set_lineno (int line_number );
2150
2151/* %if-bison-bridge */
2152/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002153
2154/* Macros after this point can all be overridden by user definitions in
2155 * section 1.
2156 */
2157
2158#ifndef YY_SKIP_YYWRAP
2159#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07002160extern "C" int asn1p_wrap (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002161#else
Lev Walkin03892812010-11-03 09:33:03 -07002162extern int asn1p_wrap (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002163#endif
2164#endif
2165
Lev Walkin03892812010-11-03 09:33:03 -07002166/* %not-for-header */
2167
2168 static void yyunput (int c,char *buf_ptr );
2169
2170/* %ok-for-header */
2171
2172/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002173
2174#ifndef yytext_ptr
Lev Walkin03892812010-11-03 09:33:03 -07002175static void yy_flex_strncpy (char *,yyconst char *,int );
Lev Walkinf15320b2004-06-03 03:38:44 +00002176#endif
2177
2178#ifdef YY_NEED_STRLEN
Lev Walkin03892812010-11-03 09:33:03 -07002179static int yy_flex_strlen (yyconst char * );
Lev Walkinf15320b2004-06-03 03:38:44 +00002180#endif
2181
2182#ifndef YY_NO_INPUT
Lev Walkin03892812010-11-03 09:33:03 -07002183/* %if-c-only Standard (non-C++) definition */
2184/* %not-for-header */
2185
Lev Walkinf15320b2004-06-03 03:38:44 +00002186#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07002187static int yyinput (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002188#else
Lev Walkin03892812010-11-03 09:33:03 -07002189static int input (void );
Lev Walkinf15320b2004-06-03 03:38:44 +00002190#endif
Lev Walkin03892812010-11-03 09:33:03 -07002191/* %ok-for-header */
2192
2193/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002194#endif
2195
Lev Walkin03892812010-11-03 09:33:03 -07002196/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00002197
Lev Walkin03892812010-11-03 09:33:03 -07002198 static int yy_start_stack_ptr = 0;
2199 static int yy_start_stack_depth = 0;
2200 static int *yy_start_stack = NULL;
2201
2202 static void yy_push_state (int new_state );
2203
2204 static void yy_pop_state (void );
2205
2206 static int yy_top_state (void );
2207
2208/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002209
2210/* Amount of stuff to slurp up with each read. */
2211#ifndef YY_READ_BUF_SIZE
2212#define YY_READ_BUF_SIZE 8192
2213#endif
2214
2215/* Copy whatever the last rule matched to the standard output. */
Lev Walkinf15320b2004-06-03 03:38:44 +00002216#ifndef ECHO
Lev Walkin03892812010-11-03 09:33:03 -07002217/* %if-c-only Standard (non-C++) definition */
Lev Walkinf15320b2004-06-03 03:38:44 +00002218/* This used to be an fputs(), but since the string might contain NUL's,
2219 * we now use fwrite().
2220 */
Lev Walkin03892812010-11-03 09:33:03 -07002221#define ECHO fwrite( asn1p_text, asn1p_leng, 1, asn1p_out )
2222/* %endif */
2223/* %if-c++-only C++ definition */
2224/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002225#endif
2226
2227/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2228 * is returned in "result".
2229 */
2230#ifndef YY_INPUT
2231#define YY_INPUT(buf,result,max_size) \
Lev Walkin03892812010-11-03 09:33:03 -07002232/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
2233 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002234 { \
Lev Walkin03892812010-11-03 09:33:03 -07002235 int c = '*'; \
2236 int n; \
Lev Walkinf15320b2004-06-03 03:38:44 +00002237 for ( n = 0; n < max_size && \
Lev Walkin03892812010-11-03 09:33:03 -07002238 (c = getc( asn1p_in )) != EOF && c != '\n'; ++n ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002239 buf[n] = (char) c; \
2240 if ( c == '\n' ) \
2241 buf[n++] = (char) c; \
Lev Walkin03892812010-11-03 09:33:03 -07002242 if ( c == EOF && ferror( asn1p_in ) ) \
Lev Walkinf15320b2004-06-03 03:38:44 +00002243 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2244 result = n; \
2245 } \
Lev Walkin03892812010-11-03 09:33:03 -07002246 else \
2247 { \
2248 errno=0; \
2249 while ( (result = fread(buf, 1, max_size, asn1p_in))==0 && ferror(asn1p_in)) \
2250 { \
2251 if( errno != EINTR) \
2252 { \
2253 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2254 break; \
2255 } \
2256 errno=0; \
2257 clearerr(asn1p_in); \
2258 } \
2259 }\
2260\
2261/* %if-c++-only C++ definition \ */\
2262/* %endif */
2263
Lev Walkinf15320b2004-06-03 03:38:44 +00002264#endif
2265
2266/* No semi-colon after return; correct usage is to write "yyterminate();" -
2267 * we don't want an extra ';' after the "return" because that will cause
2268 * some compilers to complain about unreachable statements.
2269 */
2270#ifndef yyterminate
2271#define yyterminate() return YY_NULL
2272#endif
2273
2274/* Number of entries by which start-condition stack grows. */
2275#ifndef YY_START_STACK_INCR
2276#define YY_START_STACK_INCR 25
2277#endif
2278
2279/* Report a fatal error. */
2280#ifndef YY_FATAL_ERROR
Lev Walkin03892812010-11-03 09:33:03 -07002281/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00002282#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
Lev Walkin03892812010-11-03 09:33:03 -07002283/* %endif */
2284/* %if-c++-only */
2285/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002286#endif
2287
Lev Walkin03892812010-11-03 09:33:03 -07002288/* %if-tables-serialization structures and prototypes */
2289/* %not-for-header */
2290
2291/* %ok-for-header */
2292
2293/* %not-for-header */
2294
2295/* %tables-yydmap generated elements */
2296/* %endif */
2297/* end tables serialization structures and prototypes */
2298
2299/* %ok-for-header */
2300
Lev Walkinf15320b2004-06-03 03:38:44 +00002301/* Default declaration of generated scanner - a define so the user can
2302 * easily add parameters.
2303 */
2304#ifndef YY_DECL
Lev Walkin03892812010-11-03 09:33:03 -07002305#define YY_DECL_IS_OURS 1
2306/* %if-c-only Standard (non-C++) definition */
Lev Walkinf15320b2004-06-03 03:38:44 +00002307
Lev Walkin03892812010-11-03 09:33:03 -07002308extern int asn1p_lex (void);
2309
2310#define YY_DECL int asn1p_lex (void)
2311/* %endif */
2312/* %if-c++-only C++ definition */
2313/* %endif */
2314#endif /* !YY_DECL */
2315
2316/* Code executed at the beginning of each rule, after asn1p_text and asn1p_leng
Lev Walkinf15320b2004-06-03 03:38:44 +00002317 * have been set up.
2318 */
2319#ifndef YY_USER_ACTION
2320#define YY_USER_ACTION
2321#endif
2322
2323/* Code executed at the end of each rule. */
2324#ifndef YY_BREAK
2325#define YY_BREAK break;
2326#endif
2327
Lev Walkin03892812010-11-03 09:33:03 -07002328/* %% [6.0] YY_RULE_SETUP definition goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00002329#define YY_RULE_SETUP \
2330 YY_USER_ACTION
2331
Lev Walkin03892812010-11-03 09:33:03 -07002332/* %not-for-header */
2333
2334/** The main scanner function which does all the work.
2335 */
Lev Walkinf15320b2004-06-03 03:38:44 +00002336YY_DECL
Lev Walkin03892812010-11-03 09:33:03 -07002337{
Lev Walkinf15320b2004-06-03 03:38:44 +00002338 register yy_state_type yy_current_state;
2339 register char *yy_cp, *yy_bp;
2340 register int yy_act;
Lev Walkin03892812010-11-03 09:33:03 -07002341
2342/* %% [7.0] user's declarations go here */
Lev Walkinadf863f2006-09-05 16:18:34 +00002343#line 94 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002344
2345
Lev Walkin03892812010-11-03 09:33:03 -07002346#line 2347 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00002347
Lev Walkin03892812010-11-03 09:33:03 -07002348 if ( !(yy_init) )
Lev Walkinf15320b2004-06-03 03:38:44 +00002349 {
Lev Walkin03892812010-11-03 09:33:03 -07002350 (yy_init) = 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00002351
2352#ifdef YY_USER_INIT
2353 YY_USER_INIT;
2354#endif
2355
Lev Walkin03892812010-11-03 09:33:03 -07002356 /* Create the reject buffer large enough to save one state per allowed character. */
2357 if ( ! (yy_state_buf) )
2358 (yy_state_buf) = (yy_state_type *)asn1p_alloc(YY_STATE_BUF_SIZE );
2359 if ( ! (yy_state_buf) )
2360 YY_FATAL_ERROR( "out of dynamic memory in asn1p_lex()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00002361
Lev Walkin03892812010-11-03 09:33:03 -07002362 if ( ! (yy_start) )
2363 (yy_start) = 1; /* first start state */
Lev Walkinf15320b2004-06-03 03:38:44 +00002364
Lev Walkin03892812010-11-03 09:33:03 -07002365 if ( ! asn1p_in )
2366/* %if-c-only */
2367 asn1p_in = stdin;
2368/* %endif */
2369/* %if-c++-only */
2370/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002371
Lev Walkin03892812010-11-03 09:33:03 -07002372 if ( ! asn1p_out )
2373/* %if-c-only */
2374 asn1p_out = stdout;
2375/* %endif */
2376/* %if-c++-only */
2377/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00002378
Lev Walkin03892812010-11-03 09:33:03 -07002379 if ( ! YY_CURRENT_BUFFER ) {
2380 asn1p_ensure_buffer_stack ();
2381 YY_CURRENT_BUFFER_LVALUE =
2382 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
2383 }
2384
2385 asn1p__load_buffer_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00002386 }
2387
2388 while ( 1 ) /* loops until end-of-file is reached */
2389 {
Lev Walkin03892812010-11-03 09:33:03 -07002390/* %% [8.0] yymore()-related code goes here */
2391 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00002392
Lev Walkin03892812010-11-03 09:33:03 -07002393 /* Support of asn1p_text. */
2394 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00002395
2396 /* yy_bp points to the position in yy_ch_buf of the start of
2397 * the current run.
2398 */
2399 yy_bp = yy_cp;
2400
Lev Walkin03892812010-11-03 09:33:03 -07002401/* %% [9.0] code to set up and find next match goes here */
2402 yy_current_state = (yy_start);
2403
2404 (yy_state_ptr) = (yy_state_buf);
2405 *(yy_state_ptr)++ = yy_current_state;
2406
Lev Walkinf15320b2004-06-03 03:38:44 +00002407yy_match:
2408 do
2409 {
2410 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2411 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2412 {
2413 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinadf863f2006-09-05 16:18:34 +00002414 if ( yy_current_state >= 742 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002415 yy_c = yy_meta[(unsigned int) yy_c];
2416 }
2417 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin03892812010-11-03 09:33:03 -07002418 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00002419 ++yy_cp;
2420 }
Lev Walkin03892812010-11-03 09:33:03 -07002421 while ( yy_current_state != 741 );
Lev Walkinf15320b2004-06-03 03:38:44 +00002422
2423yy_find_action:
Lev Walkin03892812010-11-03 09:33:03 -07002424/* %% [10.0] code to find the action number goes here */
2425 yy_current_state = *--(yy_state_ptr);
2426 (yy_lp) = yy_accept[yy_current_state];
Lev Walkinf15320b2004-06-03 03:38:44 +00002427find_rule: /* we branch to this label when backing up */
2428 for ( ; ; ) /* until we find what rule we matched */
2429 {
Lev Walkin03892812010-11-03 09:33:03 -07002430 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
Lev Walkinf15320b2004-06-03 03:38:44 +00002431 {
Lev Walkin03892812010-11-03 09:33:03 -07002432 yy_act = yy_acclist[(yy_lp)];
Lev Walkinf15320b2004-06-03 03:38:44 +00002433 {
Lev Walkin03892812010-11-03 09:33:03 -07002434 (yy_full_match) = yy_cp;
Lev Walkinf15320b2004-06-03 03:38:44 +00002435 break;
2436 }
2437 }
2438 --yy_cp;
Lev Walkin03892812010-11-03 09:33:03 -07002439 yy_current_state = *--(yy_state_ptr);
2440 (yy_lp) = yy_accept[yy_current_state];
Lev Walkinf15320b2004-06-03 03:38:44 +00002441 }
2442
2443 YY_DO_BEFORE_ACTION;
2444
Lev Walkin03892812010-11-03 09:33:03 -07002445/* %% [11.0] code for asn1p_lineno update goes here */
2446
2447 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
Lev Walkinf15320b2004-06-03 03:38:44 +00002448 {
2449 int yyl;
Lev Walkin03892812010-11-03 09:33:03 -07002450 for ( yyl = 0; yyl < asn1p_leng; ++yyl )
2451 if ( asn1p_text[yyl] == '\n' )
2452
2453 asn1p_lineno++;
2454;
Lev Walkinf15320b2004-06-03 03:38:44 +00002455 }
2456
2457do_action: /* This label is used only to access EOF actions. */
2458
Lev Walkin03892812010-11-03 09:33:03 -07002459/* %% [12.0] debug code goes here */
2460 if ( asn1p__flex_debug )
Lev Walkinf15320b2004-06-03 03:38:44 +00002461 {
2462 if ( yy_act == 0 )
2463 fprintf( stderr, "--scanner backing up\n" );
Lev Walkinadf863f2006-09-05 16:18:34 +00002464 else if ( yy_act < 138 )
Lev Walkin03892812010-11-03 09:33:03 -07002465 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2466 (long)yy_rule_linenum[yy_act], asn1p_text );
Lev Walkinadf863f2006-09-05 16:18:34 +00002467 else if ( yy_act == 138 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002468 fprintf( stderr, "--accepting default rule (\"%s\")\n",
Lev Walkin03892812010-11-03 09:33:03 -07002469 asn1p_text );
Lev Walkinadf863f2006-09-05 16:18:34 +00002470 else if ( yy_act == 139 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002471 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2472 else
2473 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2474 }
2475
2476 switch ( yy_act )
2477 { /* beginning of action switch */
Lev Walkin03892812010-11-03 09:33:03 -07002478/* %% [13.0] actions go here */
Lev Walkinf15320b2004-06-03 03:38:44 +00002479case 1:
Lev Walkin03892812010-11-03 09:33:03 -07002480/* rule 1 can match eol */
2481*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2482(yy_c_buf_p) = yy_cp -= 1;
2483YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
Lev Walkinf15320b2004-06-03 03:38:44 +00002484YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002485#line 96 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002486/* Immediately terminated long comment */
2487 YY_BREAK
2488case 2:
Lev Walkin03892812010-11-03 09:33:03 -07002489*yy_cp = (yy_hold_char); /* undo effects of setting up asn1p_text */
2490(yy_c_buf_p) = yy_cp -= 1;
2491YY_DO_BEFORE_ACTION; /* set up asn1p_text again */
Lev Walkin2535a692005-07-02 21:42:40 +00002492YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002493#line 97 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002494yy_push_state(idash_comment); /* Incorrect, but acceptable */
2495 YY_BREAK
2496
2497case 3:
2498YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002499#line 99 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002500yy_pop_state(); /* Acceptable end of comment */
2501 YY_BREAK
2502
2503case 4:
2504YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002505#line 102 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002506asn1p_as_pointer = 1;
2507 YY_BREAK
2508case 5:
2509YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002510#line 104 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002511yy_push_state(dash_comment);
2512 YY_BREAK
2513
Lev Walkin2535a692005-07-02 21:42:40 +00002514case 6:
Lev Walkin03892812010-11-03 09:33:03 -07002515/* rule 6 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002516YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002517#line 107 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002518yy_pop_state();
Lev Walkinf15320b2004-06-03 03:38:44 +00002519 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002520case 7:
Lev Walkinf15320b2004-06-03 03:38:44 +00002521YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002522#line 109 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002523yy_pop_state(); /* End of comment */
Lev Walkinf15320b2004-06-03 03:38:44 +00002524 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002525case 8:
2526YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002527#line 110 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002528/* Eat single dash */
Lev Walkin4696c742005-08-22 12:23:54 +00002529 YY_BREAK
2530case 9:
2531YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002532#line 111 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002533/* Eat */
Lev Walkin4696c742005-08-22 12:23:54 +00002534 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002535
Lev Walkin4696c742005-08-22 12:23:54 +00002536case 10:
2537YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002538#line 114 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002539yy_push_state(cpp_comment);
Lev Walkin2535a692005-07-02 21:42:40 +00002540 YY_BREAK
2541
Lev Walkin4696c742005-08-22 12:23:54 +00002542case 11:
Lev Walkin03892812010-11-03 09:33:03 -07002543/* rule 11 can match eol */
Lev Walkin2535a692005-07-02 21:42:40 +00002544YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002545#line 116 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002546/* Eat */
Lev Walkin2535a692005-07-02 21:42:40 +00002547 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002548case 12:
Lev Walkinf15320b2004-06-03 03:38:44 +00002549YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002550#line 117 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002551yy_pop_state();
Lev Walkin4696c742005-08-22 12:23:54 +00002552 YY_BREAK
2553case 13:
2554YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002555#line 118 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002556/* Eat */
2557 YY_BREAK
2558
2559/*
2560 * This is state is being set from corresponding .y module when
2561 * higher-level data is necessary to make proper parsing of the
2562 * underlying data. Thus, we enter the <opaque> state and save
2563 * everything for later processing.
2564 */
2565
Lev Walkinef625402005-09-05 05:17:57 +00002566case 14:
Lev Walkinf15320b2004-06-03 03:38:44 +00002567YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002568#line 130 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002569{
2570 yy_push_state(opaque);
Lev Walkin03892812010-11-03 09:33:03 -07002571 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2572 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002573 return TOK_opaque;
2574 }
2575 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002576case 15:
Lev Walkinf15320b2004-06-03 03:38:44 +00002577YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002578#line 137 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002579{
2580 yy_pop_state();
Lev Walkin03892812010-11-03 09:33:03 -07002581 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2582 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002583 return TOK_opaque;
2584 }
2585 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002586case 16:
Lev Walkin03892812010-11-03 09:33:03 -07002587/* rule 16 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002588YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002589#line 144 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002590{
Lev Walkin03892812010-11-03 09:33:03 -07002591 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2592 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002593 return TOK_opaque;
2594 }
2595 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002596case 17:
Lev Walkinf15320b2004-06-03 03:38:44 +00002597YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002598#line 150 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002599{
2600 fprintf(stderr,
2601 "ASN.1 Parser syncronization failure: "
2602 "\"%s\" at line %d must not appear "
2603 "inside value definition\n",
Lev Walkin03892812010-11-03 09:33:03 -07002604 asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002605 return -1;
2606 }
2607 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002608case 18:
Lev Walkinf15320b2004-06-03 03:38:44 +00002609YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002610#line 159 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002611{
Lev Walkin03892812010-11-03 09:33:03 -07002612 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
2613 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkinf15320b2004-06-03 03:38:44 +00002614 return TOK_opaque;
2615 }
2616 YY_BREAK
2617
Lev Walkinef625402005-09-05 05:17:57 +00002618case 19:
Lev Walkin03892812010-11-03 09:33:03 -07002619/* rule 19 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002620YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002621#line 167 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002622{
2623 asn1p_lval.tv_opaque.buf = 0;
2624 asn1p_lval.tv_opaque.len = 0;
Lev Walkin03892812010-11-03 09:33:03 -07002625 QAPPEND(asn1p_text+1, asn1p_leng-1);
Lev Walkinf15320b2004-06-03 03:38:44 +00002626 yy_push_state(quoted);
2627 }
2628 YY_BREAK
2629
Lev Walkinef625402005-09-05 05:17:57 +00002630case 20:
Lev Walkinf15320b2004-06-03 03:38:44 +00002631YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002632#line 175 "asn1p_l.l"
Lev Walkin03892812010-11-03 09:33:03 -07002633{ QAPPEND(asn1p_text, asn1p_leng-1); } /* Add a single quote */
Lev Walkinf15320b2004-06-03 03:38:44 +00002634 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002635case 21:
Lev Walkin03892812010-11-03 09:33:03 -07002636/* rule 21 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002637YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002638#line 176 "asn1p_l.l"
Lev Walkin03892812010-11-03 09:33:03 -07002639{ QAPPEND(asn1p_text, asn1p_leng); }
Lev Walkinf15320b2004-06-03 03:38:44 +00002640 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002641case 22:
Lev Walkinf15320b2004-06-03 03:38:44 +00002642YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002643#line 178 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002644{
2645 yy_pop_state();
2646 /* Do not append last quote:
Lev Walkin03892812010-11-03 09:33:03 -07002647 // QAPPEND(asn1p_text, asn1p_leng); */
Lev Walkinf15320b2004-06-03 03:38:44 +00002648
2649 if(asn1p_lexer_pedantic_1990
Lev Walkin03892812010-11-03 09:33:03 -07002650 && strchr(asn1p_text, '\n')) {
Lev Walkinf15320b2004-06-03 03:38:44 +00002651 fprintf(stderr, "%s: "
2652 "Newlines are prohibited by ASN.1:1990\n",
2653 asn1p_lval.tv_opaque.buf);
2654 return -1;
2655 }
2656
2657 return TOK_cstring;
2658 }
2659 YY_BREAK
2660
Lev Walkinf59d0752004-08-18 04:59:12 +00002661
Lev Walkinef625402005-09-05 05:17:57 +00002662case 23:
Lev Walkinf15320b2004-06-03 03:38:44 +00002663YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002664#line 197 "asn1p_l.l"
Lev Walkinf59d0752004-08-18 04:59:12 +00002665{
2666 const char *s = "ENCODING-CONTROL";
2667 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2668 for(; p >= s; p--) unput(*p);
2669 yy_pop_state();
2670 }
2671 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002672case 24:
2673YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002674#line 203 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002675unput('D'); unput('N'); unput('E'); yy_pop_state();
2676 YY_BREAK
2677case 25:
2678YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002679#line 204 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002680
2681 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002682case 26:
2683YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002684#line 205 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002685
Lev Walkin2535a692005-07-02 21:42:40 +00002686 YY_BREAK
2687case 27:
2688YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002689#line 206 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002690/* Eat everything else */
Lev Walkin4696c742005-08-22 12:23:54 +00002691 YY_BREAK
2692case 28:
Lev Walkin03892812010-11-03 09:33:03 -07002693/* rule 28 can match eol */
Lev Walkin4696c742005-08-22 12:23:54 +00002694YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002695#line 207 "asn1p_l.l"
Lev Walkin4696c742005-08-22 12:23:54 +00002696
2697 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002698
Lev Walkin4696c742005-08-22 12:23:54 +00002699case 29:
Lev Walkin03892812010-11-03 09:33:03 -07002700/* rule 29 can match eol */
Lev Walkin4696c742005-08-22 12:23:54 +00002701YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002702#line 210 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002703{
2704 /* " \t\r\n" weren't allowed in ASN.1:1990. */
Lev Walkin03892812010-11-03 09:33:03 -07002705 asn1p_lval.tv_str = asn1p_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00002706 return TOK_hstring;
2707 }
2708 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002709case 30:
Lev Walkin03892812010-11-03 09:33:03 -07002710/* rule 30 can match eol */
Lev Walkinf15320b2004-06-03 03:38:44 +00002711YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002712#line 216 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002713{
2714 /* " \t\r\n" weren't allowed in ASN.1:1990. */
Lev Walkin03892812010-11-03 09:33:03 -07002715 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002716 return TOK_bstring;
2717 }
2718 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002719case 31:
Lev Walkinf15320b2004-06-03 03:38:44 +00002720YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002721#line 223 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002722{
Lev Walkin03892812010-11-03 09:33:03 -07002723 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00002724 if(errno == ERANGE)
2725 return -1;
2726 return TOK_number_negative;
2727 }
2728 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002729case 32:
2730YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002731#line 230 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002732{
Lev Walkin03892812010-11-03 09:33:03 -07002733 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinef625402005-09-05 05:17:57 +00002734 if(errno == ERANGE)
2735 return -1;
2736 return TOK_number;
2737 }
2738 YY_BREAK
2739case 33:
2740YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002741#line 237 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002742{
Lev Walkin03892812010-11-03 09:33:03 -07002743 asn1p_lval.a_int = _lex_atoi(asn1p_text);
Lev Walkinef625402005-09-05 05:17:57 +00002744 if(errno == ERANGE)
2745 return -1;
2746 return TOK_number;
2747 }
2748 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002749case 34:
Lev Walkinf15320b2004-06-03 03:38:44 +00002750YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002751#line 244 "asn1p_l.l"
2752{
Lev Walkin03892812010-11-03 09:33:03 -07002753 asn1p_lval.a_dbl = _lex_atod(asn1p_text);
Lev Walkinadf863f2006-09-05 16:18:34 +00002754 if(errno == ERANGE)
2755 return -1;
2756 return TOK_realnumber;
2757 }
Lev Walkinf15320b2004-06-03 03:38:44 +00002758 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002759case 35:
Lev Walkinf15320b2004-06-03 03:38:44 +00002760YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002761#line 251 "asn1p_l.l"
2762return TOK_ABSENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002763 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002764case 36:
Lev Walkinf15320b2004-06-03 03:38:44 +00002765YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002766#line 252 "asn1p_l.l"
2767return TOK_ALL;
2768 YY_BREAK
2769case 37:
2770YY_RULE_SETUP
2771#line 253 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002772{
2773 /* Appeared in 1990, removed in 1997 */
2774 if(TYPE_LIFETIME(1990, 1997))
2775 return TOK_ANY;
2776 fprintf(stderr, "Keyword \"%s\" at line %d "
Lev Walkin03892812010-11-03 09:33:03 -07002777 "is obsolete\n", asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002778 REJECT;
2779 }
2780 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002781case 38:
2782YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002783#line 261 "asn1p_l.l"
2784return TOK_APPLICATION;
Lev Walkinef625402005-09-05 05:17:57 +00002785 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002786case 39:
2787YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002788#line 262 "asn1p_l.l"
2789return TOK_AUTOMATIC;
Lev Walkin2535a692005-07-02 21:42:40 +00002790 YY_BREAK
2791case 40:
2792YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002793#line 263 "asn1p_l.l"
2794return TOK_BEGIN;
Lev Walkin4696c742005-08-22 12:23:54 +00002795 YY_BREAK
2796case 41:
2797YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002798#line 264 "asn1p_l.l"
2799return TOK_BIT;
2800 YY_BREAK
2801case 42:
2802YY_RULE_SETUP
2803#line 265 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002804{
2805 if(TYPE_LIFETIME(1994, 0))
2806 return TOK_BMPString;
2807 REJECT;
2808 }
2809 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002810case 43:
2811YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002812#line 270 "asn1p_l.l"
2813return TOK_BOOLEAN;
Lev Walkinef625402005-09-05 05:17:57 +00002814 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002815case 44:
2816YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002817#line 271 "asn1p_l.l"
2818return TOK_BY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002819 YY_BREAK
2820case 45:
2821YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002822#line 272 "asn1p_l.l"
2823return TOK_CHARACTER;
Lev Walkinf59d0752004-08-18 04:59:12 +00002824 YY_BREAK
2825case 46:
2826YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002827#line 273 "asn1p_l.l"
2828return TOK_CHOICE;
Lev Walkinf59d0752004-08-18 04:59:12 +00002829 YY_BREAK
2830case 47:
2831YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002832#line 274 "asn1p_l.l"
2833return TOK_CLASS;
Lev Walkinf59d0752004-08-18 04:59:12 +00002834 YY_BREAK
2835case 48:
2836YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002837#line 275 "asn1p_l.l"
2838return TOK_COMPONENT;
Lev Walkin2535a692005-07-02 21:42:40 +00002839 YY_BREAK
2840case 49:
2841YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002842#line 276 "asn1p_l.l"
2843return TOK_COMPONENTS;
Lev Walkin2535a692005-07-02 21:42:40 +00002844 YY_BREAK
2845case 50:
2846YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002847#line 277 "asn1p_l.l"
2848return TOK_CONSTRAINED;
Lev Walkin2535a692005-07-02 21:42:40 +00002849 YY_BREAK
2850case 51:
2851YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002852#line 278 "asn1p_l.l"
2853return TOK_CONTAINING;
Lev Walkin4696c742005-08-22 12:23:54 +00002854 YY_BREAK
2855case 52:
2856YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002857#line 279 "asn1p_l.l"
2858return TOK_DEFAULT;
2859 YY_BREAK
2860case 53:
2861YY_RULE_SETUP
2862#line 280 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002863{
2864 /* Appeared in 1990, removed in 1997 */
2865 if(TYPE_LIFETIME(1990, 1997))
2866 return TOK_DEFINED;
2867 fprintf(stderr, "Keyword \"%s\" at line %d "
Lev Walkin03892812010-11-03 09:33:03 -07002868 "is obsolete\n", asn1p_text, asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00002869 /* Deprecated since */
2870 REJECT;
2871 }
2872 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002873case 54:
2874YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002875#line 289 "asn1p_l.l"
2876return TOK_DEFINITIONS;
Lev Walkinef625402005-09-05 05:17:57 +00002877 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002878case 55:
2879YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002880#line 290 "asn1p_l.l"
2881return TOK_EMBEDDED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002882 YY_BREAK
2883case 56:
2884YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002885#line 291 "asn1p_l.l"
2886return TOK_ENCODED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002887 YY_BREAK
2888case 57:
2889YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002890#line 292 "asn1p_l.l"
2891return TOK_ENCODING_CONTROL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002892 YY_BREAK
2893case 58:
2894YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002895#line 293 "asn1p_l.l"
2896return TOK_END;
Lev Walkinf15320b2004-06-03 03:38:44 +00002897 YY_BREAK
2898case 59:
2899YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002900#line 294 "asn1p_l.l"
2901return TOK_ENUMERATED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002902 YY_BREAK
2903case 60:
2904YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002905#line 295 "asn1p_l.l"
2906return TOK_EXCEPT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002907 YY_BREAK
2908case 61:
2909YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002910#line 296 "asn1p_l.l"
2911return TOK_EXPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002912 YY_BREAK
2913case 62:
2914YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002915#line 297 "asn1p_l.l"
2916return TOK_EXPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002917 YY_BREAK
2918case 63:
2919YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002920#line 298 "asn1p_l.l"
2921return TOK_EXTENSIBILITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002922 YY_BREAK
2923case 64:
2924YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002925#line 299 "asn1p_l.l"
2926return TOK_EXTERNAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002927 YY_BREAK
2928case 65:
2929YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002930#line 300 "asn1p_l.l"
2931return TOK_FALSE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002932 YY_BREAK
2933case 66:
2934YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002935#line 301 "asn1p_l.l"
2936return TOK_FROM;
Lev Walkinf15320b2004-06-03 03:38:44 +00002937 YY_BREAK
2938case 67:
2939YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002940#line 302 "asn1p_l.l"
2941return TOK_GeneralizedTime;
Lev Walkinf15320b2004-06-03 03:38:44 +00002942 YY_BREAK
2943case 68:
2944YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002945#line 303 "asn1p_l.l"
2946return TOK_GeneralString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002947 YY_BREAK
2948case 69:
2949YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002950#line 304 "asn1p_l.l"
2951return TOK_GraphicString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002952 YY_BREAK
2953case 70:
2954YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002955#line 305 "asn1p_l.l"
2956return TOK_IA5String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002957 YY_BREAK
2958case 71:
2959YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002960#line 306 "asn1p_l.l"
2961return TOK_IDENTIFIER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002962 YY_BREAK
2963case 72:
2964YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002965#line 307 "asn1p_l.l"
2966return TOK_IMPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002967 YY_BREAK
2968case 73:
2969YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002970#line 308 "asn1p_l.l"
2971return TOK_IMPLIED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002972 YY_BREAK
2973case 74:
2974YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002975#line 309 "asn1p_l.l"
2976return TOK_IMPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002977 YY_BREAK
2978case 75:
2979YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002980#line 310 "asn1p_l.l"
2981return TOK_INCLUDES;
Lev Walkinf15320b2004-06-03 03:38:44 +00002982 YY_BREAK
2983case 76:
2984YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002985#line 311 "asn1p_l.l"
2986return TOK_INSTANCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002987 YY_BREAK
2988case 77:
2989YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002990#line 312 "asn1p_l.l"
2991return TOK_INSTRUCTIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002992 YY_BREAK
2993case 78:
2994YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00002995#line 313 "asn1p_l.l"
2996return TOK_INTEGER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002997 YY_BREAK
2998case 79:
2999YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003000#line 314 "asn1p_l.l"
3001return TOK_INTERSECTION;
Lev Walkinf15320b2004-06-03 03:38:44 +00003002 YY_BREAK
3003case 80:
3004YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003005#line 315 "asn1p_l.l"
3006return TOK_ISO646String;
Lev Walkinf15320b2004-06-03 03:38:44 +00003007 YY_BREAK
3008case 81:
3009YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003010#line 316 "asn1p_l.l"
3011return TOK_MAX;
Lev Walkinf15320b2004-06-03 03:38:44 +00003012 YY_BREAK
3013case 82:
3014YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003015#line 317 "asn1p_l.l"
3016return TOK_MIN;
Lev Walkinf15320b2004-06-03 03:38:44 +00003017 YY_BREAK
3018case 83:
3019YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003020#line 318 "asn1p_l.l"
3021return TOK_MINUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00003022 YY_BREAK
3023case 84:
3024YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003025#line 319 "asn1p_l.l"
3026return TOK_NULL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003027 YY_BREAK
3028case 85:
3029YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003030#line 320 "asn1p_l.l"
3031return TOK_NumericString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003032 YY_BREAK
3033case 86:
3034YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003035#line 321 "asn1p_l.l"
3036return TOK_OBJECT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003037 YY_BREAK
3038case 87:
3039YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003040#line 322 "asn1p_l.l"
3041return TOK_ObjectDescriptor;
Lev Walkinf15320b2004-06-03 03:38:44 +00003042 YY_BREAK
3043case 88:
3044YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003045#line 323 "asn1p_l.l"
3046return TOK_OCTET;
Lev Walkinf15320b2004-06-03 03:38:44 +00003047 YY_BREAK
3048case 89:
3049YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003050#line 324 "asn1p_l.l"
3051return TOK_OF;
Lev Walkinf15320b2004-06-03 03:38:44 +00003052 YY_BREAK
3053case 90:
3054YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003055#line 325 "asn1p_l.l"
3056return TOK_OPTIONAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003057 YY_BREAK
3058case 91:
3059YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003060#line 326 "asn1p_l.l"
3061return TOK_PATTERN;
Lev Walkinf15320b2004-06-03 03:38:44 +00003062 YY_BREAK
3063case 92:
3064YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003065#line 327 "asn1p_l.l"
3066return TOK_PDV;
Lev Walkinf15320b2004-06-03 03:38:44 +00003067 YY_BREAK
3068case 93:
3069YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003070#line 328 "asn1p_l.l"
3071return TOK_PLUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00003072 YY_BREAK
3073case 94:
3074YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003075#line 329 "asn1p_l.l"
3076return TOK_PRESENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00003077 YY_BREAK
3078case 95:
3079YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003080#line 330 "asn1p_l.l"
3081return TOK_PrintableString;
Lev Walkinf15320b2004-06-03 03:38:44 +00003082 YY_BREAK
3083case 96:
3084YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003085#line 331 "asn1p_l.l"
3086return TOK_PRIVATE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003087 YY_BREAK
3088case 97:
3089YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003090#line 332 "asn1p_l.l"
3091return TOK_REAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003092 YY_BREAK
3093case 98:
3094YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003095#line 333 "asn1p_l.l"
3096return TOK_RELATIVE_OID;
Lev Walkinf15320b2004-06-03 03:38:44 +00003097 YY_BREAK
3098case 99:
3099YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003100#line 334 "asn1p_l.l"
3101return TOK_SEQUENCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003102 YY_BREAK
3103case 100:
3104YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003105#line 335 "asn1p_l.l"
3106return TOK_SET;
Lev Walkinf15320b2004-06-03 03:38:44 +00003107 YY_BREAK
3108case 101:
3109YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003110#line 336 "asn1p_l.l"
3111return TOK_SIZE;
Lev Walkinf15320b2004-06-03 03:38:44 +00003112 YY_BREAK
3113case 102:
3114YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003115#line 337 "asn1p_l.l"
3116return TOK_STRING;
Lev Walkinf59d0752004-08-18 04:59:12 +00003117 YY_BREAK
3118case 103:
3119YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003120#line 338 "asn1p_l.l"
3121return TOK_SYNTAX;
Lev Walkinf59d0752004-08-18 04:59:12 +00003122 YY_BREAK
3123case 104:
3124YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003125#line 339 "asn1p_l.l"
3126return TOK_T61String;
Lev Walkinf59d0752004-08-18 04:59:12 +00003127 YY_BREAK
3128case 105:
3129YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003130#line 340 "asn1p_l.l"
3131return TOK_TAGS;
Lev Walkinf59d0752004-08-18 04:59:12 +00003132 YY_BREAK
3133case 106:
3134YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003135#line 341 "asn1p_l.l"
3136return TOK_TeletexString;
Lev Walkinf59d0752004-08-18 04:59:12 +00003137 YY_BREAK
3138case 107:
3139YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003140#line 342 "asn1p_l.l"
3141return TOK_TRUE;
Lev Walkin2535a692005-07-02 21:42:40 +00003142 YY_BREAK
3143case 108:
3144YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003145#line 343 "asn1p_l.l"
3146return TOK_UNION;
Lev Walkin2535a692005-07-02 21:42:40 +00003147 YY_BREAK
3148case 109:
3149YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003150#line 344 "asn1p_l.l"
3151return TOK_UNIQUE;
Lev Walkin2535a692005-07-02 21:42:40 +00003152 YY_BREAK
3153case 110:
3154YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003155#line 345 "asn1p_l.l"
3156return TOK_UNIVERSAL;
3157 YY_BREAK
3158case 111:
3159YY_RULE_SETUP
3160#line 346 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003161{
3162 if(TYPE_LIFETIME(1994, 0))
3163 return TOK_UniversalString;
3164 REJECT;
3165 }
3166 YY_BREAK
Lev Walkina2fcce42006-03-06 11:28:17 +00003167case 112:
Lev Walkinf15320b2004-06-03 03:38:44 +00003168YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003169#line 351 "asn1p_l.l"
3170return TOK_UTCTime;
3171 YY_BREAK
3172case 113:
3173YY_RULE_SETUP
3174#line 352 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003175{
3176 if(TYPE_LIFETIME(1994, 0))
3177 return TOK_UTF8String;
3178 REJECT;
3179 }
3180 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003181case 114:
3182YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003183#line 357 "asn1p_l.l"
3184return TOK_VideotexString;
Lev Walkinef625402005-09-05 05:17:57 +00003185 YY_BREAK
3186case 115:
3187YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003188#line 358 "asn1p_l.l"
3189return TOK_VisibleString;
Lev Walkinef625402005-09-05 05:17:57 +00003190 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00003191case 116:
3192YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003193#line 359 "asn1p_l.l"
3194return TOK_WITH;
3195 YY_BREAK
3196case 117:
3197YY_RULE_SETUP
3198#line 362 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003199{
Lev Walkin03892812010-11-03 09:33:03 -07003200 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003201 return TOK_typefieldreference;
3202 }
3203 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003204case 118:
Lev Walkinf15320b2004-06-03 03:38:44 +00003205YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003206#line 367 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003207{
Lev Walkin03892812010-11-03 09:33:03 -07003208 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003209 return TOK_valuefieldreference;
3210 }
3211 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003212case 119:
Lev Walkinf15320b2004-06-03 03:38:44 +00003213YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003214#line 373 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003215{
Lev Walkin03892812010-11-03 09:33:03 -07003216 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003217 return TOK_identifier;
3218 }
3219 YY_BREAK
3220/*
3221 * objectclassreference
3222 */
Lev Walkinadf863f2006-09-05 16:18:34 +00003223case 120:
Lev Walkinf15320b2004-06-03 03:38:44 +00003224YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003225#line 381 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003226{
Lev Walkin03892812010-11-03 09:33:03 -07003227 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf59d0752004-08-18 04:59:12 +00003228 return TOK_capitalreference;
Lev Walkinf15320b2004-06-03 03:38:44 +00003229 }
3230 YY_BREAK
3231/*
3232 * typereference, modulereference
3233 * NOTE: TOK_objectclassreference must be combined
3234 * with this token to produce true typereference.
3235 */
Lev Walkinadf863f2006-09-05 16:18:34 +00003236case 121:
Lev Walkinf15320b2004-06-03 03:38:44 +00003237YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003238#line 391 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003239{
Lev Walkin03892812010-11-03 09:33:03 -07003240 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003241 return TOK_typereference;
3242 }
3243 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003244case 122:
Lev Walkin2535a692005-07-02 21:42:40 +00003245YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003246#line 396 "asn1p_l.l"
3247return TOK_PPEQ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003248 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003249case 123:
3250YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003251#line 398 "asn1p_l.l"
3252return TOK_ThreeDots;
3253 YY_BREAK
3254case 124:
3255YY_RULE_SETUP
3256#line 399 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00003257return TOK_TwoDots;
3258 YY_BREAK
3259
Lev Walkin2535a692005-07-02 21:42:40 +00003260case 125:
Lev Walkinf15320b2004-06-03 03:38:44 +00003261YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003262#line 403 "asn1p_l.l"
Lev Walkin9d542d22006-03-14 16:31:37 +00003263{
Lev Walkin03892812010-11-03 09:33:03 -07003264 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003265 return TOK_Literal;
3266 }
3267 YY_BREAK
3268case 126:
3269YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003270#line 408 "asn1p_l.l"
Lev Walkin9d542d22006-03-14 16:31:37 +00003271{
Lev Walkin03892812010-11-03 09:33:03 -07003272 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003273 return TOK_Literal;
3274 }
3275 YY_BREAK
3276case 127:
3277YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003278#line 413 "asn1p_l.l"
3279{
3280 yy_push_state(with_syntax);
Lev Walkin03892812010-11-03 09:33:03 -07003281 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkinadf863f2006-09-05 16:18:34 +00003282 return TOK_Literal;
3283 }
Lev Walkin9d542d22006-03-14 16:31:37 +00003284 YY_BREAK
3285case 128:
3286YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003287#line 419 "asn1p_l.l"
3288return '[';
Lev Walkin9d542d22006-03-14 16:31:37 +00003289 YY_BREAK
3290case 129:
3291YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003292#line 420 "asn1p_l.l"
3293return ']';
3294 YY_BREAK
3295case 130:
Lev Walkin03892812010-11-03 09:33:03 -07003296/* rule 130 can match eol */
Lev Walkinadf863f2006-09-05 16:18:34 +00003297YY_RULE_SETUP
3298#line 422 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00003299{
Lev Walkin03892812010-11-03 09:33:03 -07003300 asn1p_lval.tv_opaque.buf = strdup(asn1p_text);
3301 asn1p_lval.tv_opaque.len = asn1p_leng;
Lev Walkin57074f12006-03-16 05:11:14 +00003302 return TOK_whitespace;
Lev Walkinef625402005-09-05 05:17:57 +00003303 }
Lev Walkin4696c742005-08-22 12:23:54 +00003304 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003305case 131:
Lev Walkin4696c742005-08-22 12:23:54 +00003306YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003307#line 428 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003308{
3309 yy_pop_state();
Lev Walkin9d542d22006-03-14 16:31:37 +00003310 if(YYSTATE == with_syntax) {
Lev Walkin03892812010-11-03 09:33:03 -07003311 asn1p_lval.tv_str = strdup(asn1p_text);
Lev Walkin9d542d22006-03-14 16:31:37 +00003312 return TOK_Literal;
3313 } else {
3314 return '}';
3315 }
Lev Walkind9574ae2005-03-24 16:22:35 +00003316 }
3317 YY_BREAK
3318
Lev Walkin9d542d22006-03-14 16:31:37 +00003319case 132:
Lev Walkin03892812010-11-03 09:33:03 -07003320/* rule 132 can match eol */
Lev Walkind9574ae2005-03-24 16:22:35 +00003321YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003322#line 441 "asn1p_l.l"
3323/* Ignore whitespace */
3324 YY_BREAK
3325case 133:
Lev Walkin03892812010-11-03 09:33:03 -07003326/* rule 133 can match eol */
Lev Walkinadf863f2006-09-05 16:18:34 +00003327YY_RULE_SETUP
3328#line 444 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003329{
3330 asn1c_integer_t v1 = -1, v2 = -1;
3331 char *p;
Lev Walkin03892812010-11-03 09:33:03 -07003332 for(p = asn1p_text; *p; p++)
Lev Walkind9574ae2005-03-24 16:22:35 +00003333 if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003334 { v1 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003335 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3336 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003337 { v2 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003338 if(v1 < 0 || v1 > 7) {
3339 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3340 "mandates 0..7 range for Tuple's TableColumn\n",
Lev Walkin03892812010-11-03 09:33:03 -07003341 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003342 return -1;
3343 }
3344 if(v2 < 0 || v2 > 15) {
3345 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3346 "mandates 0..15 range for Tuple's TableRow\n",
Lev Walkin03892812010-11-03 09:33:03 -07003347 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003348 return -1;
3349 }
3350 asn1p_lval.a_int = (v1 << 4) + v2;
3351 return TOK_tuple;
3352 }
3353 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003354case 134:
Lev Walkin03892812010-11-03 09:33:03 -07003355/* rule 134 can match eol */
Lev Walkind9574ae2005-03-24 16:22:35 +00003356YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003357#line 469 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003358{
3359 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
3360 char *p;
Lev Walkin03892812010-11-03 09:33:03 -07003361 for(p = asn1p_text; *p; p++)
Lev Walkind9574ae2005-03-24 16:22:35 +00003362 if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003363 { v1 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003364 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3365 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003366 { v2 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003367 while(*p >= '0' && *p <= '9') p++;
3368 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003369 { v3 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003370 while(*p >= '0' && *p <= '9') p++;
3371 for(; *p; p++) if(*p >= '0' && *p <= '9')
Lev Walkind370e9f2006-03-16 10:03:35 +00003372 { v4 = _lex_atoi(p); break; }
Lev Walkind9574ae2005-03-24 16:22:35 +00003373 if(v1 < 0 || v1 > 127) {
3374 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3375 "mandates 0..127 range for Quadruple's Group\n",
Lev Walkin03892812010-11-03 09:33:03 -07003376 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003377 return -1;
3378 }
3379 if(v2 < 0 || v2 > 255) {
3380 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3381 "mandates 0..255 range for Quadruple's Plane\n",
Lev Walkin03892812010-11-03 09:33:03 -07003382 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003383 return -1;
3384 }
3385 if(v3 < 0 || v3 > 255) {
3386 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3387 "mandates 0..255 range for Quadruple's Row\n",
Lev Walkin03892812010-11-03 09:33:03 -07003388 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003389 return -1;
3390 }
3391 if(v4 < 0 || v4 > 255) {
3392 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3393 "mandates 0..255 range for Quadruple's Cell\n",
Lev Walkin03892812010-11-03 09:33:03 -07003394 asn1p_text, asn1p_lineno);
Lev Walkind9574ae2005-03-24 16:22:35 +00003395 return -1;
3396 }
3397 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3398 return TOK_quadruple;
3399 }
3400 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00003401case 135:
Lev Walkind9574ae2005-03-24 16:22:35 +00003402YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003403#line 513 "asn1p_l.l"
Lev Walkin03892812010-11-03 09:33:03 -07003404return asn1p_text[0];
Lev Walkinadf863f2006-09-05 16:18:34 +00003405 YY_BREAK
3406case 136:
Lev Walkin03892812010-11-03 09:33:03 -07003407/* rule 136 can match eol */
Lev Walkinadf863f2006-09-05 16:18:34 +00003408YY_RULE_SETUP
3409#line 515 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003410{
3411 if(TYPE_LIFETIME(1994, 0))
3412 fprintf(stderr, "ERROR: ");
3413 fprintf(stderr,
3414 "Symbol '%c' at line %d is prohibited "
3415 "by ASN.1:1994 and ASN.1:1997\n",
Lev Walkin03892812010-11-03 09:33:03 -07003416 asn1p_text[0], asn1p_lineno);
Lev Walkinf15320b2004-06-03 03:38:44 +00003417 if(TYPE_LIFETIME(1994, 0))
3418 return -1;
3419 }
3420 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003421case 137:
Lev Walkinc603f102005-01-23 09:51:44 +00003422YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003423#line 526 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003424{
3425 fprintf(stderr,
3426 "Unexpected token at line %d: \"%s\"\n",
Lev Walkin03892812010-11-03 09:33:03 -07003427 asn1p_lineno, asn1p_text);
Lev Walkinf15320b2004-06-03 03:38:44 +00003428 while(YYSTATE != INITIAL)
3429 yy_pop_state();
Lev Walkin9c974182004-09-15 11:59:51 +00003430 if(0) {
3431 yy_top_state(); /* Just to use this function. */
3432 yy_fatal_error("Parse error");
3433 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003434 return -1;
3435}
3436 YY_BREAK
3437case YY_STATE_EOF(INITIAL):
3438case YY_STATE_EOF(dash_comment):
Lev Walkin2535a692005-07-02 21:42:40 +00003439case YY_STATE_EOF(idash_comment):
Lev Walkinf15320b2004-06-03 03:38:44 +00003440case YY_STATE_EOF(cpp_comment):
3441case YY_STATE_EOF(quoted):
3442case YY_STATE_EOF(opaque):
Lev Walkinf59d0752004-08-18 04:59:12 +00003443case YY_STATE_EOF(encoding_control):
Lev Walkinf15320b2004-06-03 03:38:44 +00003444case YY_STATE_EOF(with_syntax):
Lev Walkinadf863f2006-09-05 16:18:34 +00003445#line 539 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003446{
3447 while(YYSTATE != INITIAL)
3448 yy_pop_state();
3449 yyterminate();
3450 }
3451 YY_BREAK
Lev Walkinadf863f2006-09-05 16:18:34 +00003452case 138:
Lev Walkinf15320b2004-06-03 03:38:44 +00003453YY_RULE_SETUP
Lev Walkinadf863f2006-09-05 16:18:34 +00003454#line 546 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003455YY_FATAL_ERROR( "flex scanner jammed" );
3456 YY_BREAK
Lev Walkin03892812010-11-03 09:33:03 -07003457#line 3458 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00003458
3459 case YY_END_OF_BUFFER:
3460 {
3461 /* Amount of text matched not including the EOB char. */
Lev Walkin03892812010-11-03 09:33:03 -07003462 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003463
3464 /* Undo the effects of YY_DO_BEFORE_ACTION. */
Lev Walkin03892812010-11-03 09:33:03 -07003465 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003466 YY_RESTORE_YY_MORE_OFFSET
3467
Lev Walkin03892812010-11-03 09:33:03 -07003468 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
Lev Walkinf15320b2004-06-03 03:38:44 +00003469 {
3470 /* We're scanning a new file or input source. It's
3471 * possible that this happened because the user
Lev Walkin03892812010-11-03 09:33:03 -07003472 * just pointed asn1p_in at a new source and called
3473 * asn1p_lex(). If so, then we have to assure
3474 * consistency between YY_CURRENT_BUFFER and our
Lev Walkinf15320b2004-06-03 03:38:44 +00003475 * globals. Here is the right place to do so, because
3476 * this is the first action (other than possibly a
3477 * back-up) that will match for the new input source.
3478 */
Lev Walkin03892812010-11-03 09:33:03 -07003479 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3480 YY_CURRENT_BUFFER_LVALUE->yy_input_file = asn1p_in;
3481 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00003482 }
3483
3484 /* Note that here we test for yy_c_buf_p "<=" to the position
3485 * of the first EOB in the buffer, since yy_c_buf_p will
3486 * already have been incremented past the NUL character
3487 * (since all states make transitions on EOB to the
3488 * end-of-buffer state). Contrast this with the test
3489 * in input().
3490 */
Lev Walkin03892812010-11-03 09:33:03 -07003491 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003492 { /* This was really a NUL. */
3493 yy_state_type yy_next_state;
3494
Lev Walkin03892812010-11-03 09:33:03 -07003495 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00003496
Lev Walkin03892812010-11-03 09:33:03 -07003497 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003498
3499 /* Okay, we're now positioned to make the NUL
3500 * transition. We couldn't have
3501 * yy_get_previous_state() go ahead and do it
3502 * for us because it doesn't know how to deal
3503 * with the possibility of jamming (and we don't
3504 * want to build jamming into it because then it
3505 * will run more slowly).
3506 */
3507
3508 yy_next_state = yy_try_NUL_trans( yy_current_state );
3509
Lev Walkin03892812010-11-03 09:33:03 -07003510 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003511
3512 if ( yy_next_state )
3513 {
3514 /* Consume the NUL. */
Lev Walkin03892812010-11-03 09:33:03 -07003515 yy_cp = ++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003516 yy_current_state = yy_next_state;
3517 goto yy_match;
3518 }
3519
3520 else
3521 {
Lev Walkin03892812010-11-03 09:33:03 -07003522/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
3523 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003524 goto yy_find_action;
3525 }
3526 }
3527
Lev Walkin03892812010-11-03 09:33:03 -07003528 else switch ( yy_get_next_buffer( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003529 {
3530 case EOB_ACT_END_OF_FILE:
3531 {
Lev Walkin03892812010-11-03 09:33:03 -07003532 (yy_did_buffer_switch_on_eof) = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003533
Lev Walkin03892812010-11-03 09:33:03 -07003534 if ( asn1p_wrap( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003535 {
3536 /* Note: because we've taken care in
3537 * yy_get_next_buffer() to have set up
Lev Walkin03892812010-11-03 09:33:03 -07003538 * asn1p_text, we can now set up
Lev Walkinf15320b2004-06-03 03:38:44 +00003539 * yy_c_buf_p so that if some total
3540 * hoser (like flex itself) wants to
3541 * call the scanner after we return the
3542 * YY_NULL, it'll still work - another
3543 * YY_NULL will get returned.
3544 */
Lev Walkin03892812010-11-03 09:33:03 -07003545 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003546
3547 yy_act = YY_STATE_EOF(YY_START);
3548 goto do_action;
3549 }
3550
3551 else
3552 {
Lev Walkin03892812010-11-03 09:33:03 -07003553 if ( ! (yy_did_buffer_switch_on_eof) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003554 YY_NEW_FILE;
3555 }
3556 break;
3557 }
3558
3559 case EOB_ACT_CONTINUE_SCAN:
Lev Walkin03892812010-11-03 09:33:03 -07003560 (yy_c_buf_p) =
3561 (yytext_ptr) + yy_amount_of_matched_text;
Lev Walkinf15320b2004-06-03 03:38:44 +00003562
Lev Walkin03892812010-11-03 09:33:03 -07003563 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003564
Lev Walkin03892812010-11-03 09:33:03 -07003565 yy_cp = (yy_c_buf_p);
3566 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003567 goto yy_match;
3568
3569 case EOB_ACT_LAST_MATCH:
Lev Walkin03892812010-11-03 09:33:03 -07003570 (yy_c_buf_p) =
3571 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
Lev Walkinf15320b2004-06-03 03:38:44 +00003572
Lev Walkin03892812010-11-03 09:33:03 -07003573 yy_current_state = yy_get_previous_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003574
Lev Walkin03892812010-11-03 09:33:03 -07003575 yy_cp = (yy_c_buf_p);
3576 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
Lev Walkinf15320b2004-06-03 03:38:44 +00003577 goto yy_find_action;
3578 }
3579 break;
3580 }
3581
3582 default:
3583 YY_FATAL_ERROR(
3584 "fatal flex scanner internal error--no action found" );
3585 } /* end of action switch */
3586 } /* end of scanning one token */
Lev Walkin03892812010-11-03 09:33:03 -07003587} /* end of asn1p_lex */
3588/* %ok-for-header */
Lev Walkinf15320b2004-06-03 03:38:44 +00003589
Lev Walkin03892812010-11-03 09:33:03 -07003590/* %if-c++-only */
3591/* %not-for-header */
3592
3593/* %ok-for-header */
3594
3595/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00003596
3597/* yy_get_next_buffer - try to read in a new buffer
3598 *
3599 * Returns a code representing an action:
3600 * EOB_ACT_LAST_MATCH -
3601 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3602 * EOB_ACT_END_OF_FILE - end of file
3603 */
Lev Walkin03892812010-11-03 09:33:03 -07003604/* %if-c-only */
3605static int yy_get_next_buffer (void)
3606/* %endif */
3607/* %if-c++-only */
3608/* %endif */
3609{
3610 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3611 register char *source = (yytext_ptr);
Lev Walkinf15320b2004-06-03 03:38:44 +00003612 register int number_to_move, i;
3613 int ret_val;
3614
Lev Walkin03892812010-11-03 09:33:03 -07003615 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003616 YY_FATAL_ERROR(
3617 "fatal flex scanner internal error--end of buffer missed" );
3618
Lev Walkin03892812010-11-03 09:33:03 -07003619 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003620 { /* Don't try to fill the buffer, so this is an EOF. */
Lev Walkin03892812010-11-03 09:33:03 -07003621 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003622 {
3623 /* We matched a single character, the EOB, so
3624 * treat this as a final EOF.
3625 */
3626 return EOB_ACT_END_OF_FILE;
3627 }
3628
3629 else
3630 {
3631 /* We matched some text prior to the EOB, first
3632 * process it.
3633 */
3634 return EOB_ACT_LAST_MATCH;
3635 }
3636 }
3637
3638 /* Try to read more data. */
3639
3640 /* First move last chars to start of buffer. */
Lev Walkin03892812010-11-03 09:33:03 -07003641 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003642
3643 for ( i = 0; i < number_to_move; ++i )
3644 *(dest++) = *(source++);
3645
Lev Walkin03892812010-11-03 09:33:03 -07003646 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
Lev Walkinf15320b2004-06-03 03:38:44 +00003647 /* don't do the read, it's not guaranteed to return an EOF,
3648 * just force an EOF
3649 */
Lev Walkin03892812010-11-03 09:33:03 -07003650 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00003651
3652 else
3653 {
Lev Walkin03892812010-11-03 09:33:03 -07003654 int num_to_read =
3655 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
Lev Walkinf15320b2004-06-03 03:38:44 +00003656
3657 while ( num_to_read <= 0 )
3658 { /* Not enough room in the buffer - grow it. */
Lev Walkin03892812010-11-03 09:33:03 -07003659
Lev Walkinf15320b2004-06-03 03:38:44 +00003660 YY_FATAL_ERROR(
3661"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
Lev Walkinf15320b2004-06-03 03:38:44 +00003662
Lev Walkinf15320b2004-06-03 03:38:44 +00003663 }
3664
3665 if ( num_to_read > YY_READ_BUF_SIZE )
3666 num_to_read = YY_READ_BUF_SIZE;
3667
3668 /* Read in more data. */
Lev Walkin03892812010-11-03 09:33:03 -07003669 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3670 (yy_n_chars), (size_t) num_to_read );
Lev Walkinf15320b2004-06-03 03:38:44 +00003671
Lev Walkin03892812010-11-03 09:33:03 -07003672 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Lev Walkinf15320b2004-06-03 03:38:44 +00003673 }
3674
Lev Walkin03892812010-11-03 09:33:03 -07003675 if ( (yy_n_chars) == 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003676 {
3677 if ( number_to_move == YY_MORE_ADJ )
3678 {
3679 ret_val = EOB_ACT_END_OF_FILE;
Lev Walkin03892812010-11-03 09:33:03 -07003680 asn1p_restart(asn1p_in );
Lev Walkinf15320b2004-06-03 03:38:44 +00003681 }
3682
3683 else
3684 {
3685 ret_val = EOB_ACT_LAST_MATCH;
Lev Walkin03892812010-11-03 09:33:03 -07003686 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
Lev Walkinf15320b2004-06-03 03:38:44 +00003687 YY_BUFFER_EOF_PENDING;
3688 }
3689 }
3690
3691 else
3692 ret_val = EOB_ACT_CONTINUE_SCAN;
3693
Lev Walkin03892812010-11-03 09:33:03 -07003694 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3695 /* Extend the array by 50%, plus the number we really need. */
3696 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3697 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) asn1p_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3698 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3699 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00003700 }
3701
Lev Walkin03892812010-11-03 09:33:03 -07003702 (yy_n_chars) += number_to_move;
3703 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3704 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3705
3706 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3707
3708 return ret_val;
3709}
Lev Walkinf15320b2004-06-03 03:38:44 +00003710
3711/* yy_get_previous_state - get the state just before the EOB char was reached */
3712
Lev Walkin03892812010-11-03 09:33:03 -07003713/* %if-c-only */
3714/* %not-for-header */
3715
3716 static yy_state_type yy_get_previous_state (void)
3717/* %endif */
3718/* %if-c++-only */
3719/* %endif */
3720{
Lev Walkinf15320b2004-06-03 03:38:44 +00003721 register yy_state_type yy_current_state;
3722 register char *yy_cp;
Lev Walkin03892812010-11-03 09:33:03 -07003723
3724/* %% [15.0] code to get the start state into yy_current_state goes here */
3725 yy_current_state = (yy_start);
Lev Walkinf15320b2004-06-03 03:38:44 +00003726
Lev Walkin03892812010-11-03 09:33:03 -07003727 (yy_state_ptr) = (yy_state_buf);
3728 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003729
Lev Walkin03892812010-11-03 09:33:03 -07003730 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
Lev Walkinf15320b2004-06-03 03:38:44 +00003731 {
Lev Walkin03892812010-11-03 09:33:03 -07003732/* %% [16.0] code to find the next state goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003733 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3734 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3735 {
3736 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinadf863f2006-09-05 16:18:34 +00003737 if ( yy_current_state >= 742 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003738 yy_c = yy_meta[(unsigned int) yy_c];
3739 }
3740 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin03892812010-11-03 09:33:03 -07003741 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003742 }
3743
3744 return yy_current_state;
Lev Walkin03892812010-11-03 09:33:03 -07003745}
Lev Walkinf15320b2004-06-03 03:38:44 +00003746
3747/* yy_try_NUL_trans - try to make a transition on the NUL character
3748 *
3749 * synopsis
3750 * next_state = yy_try_NUL_trans( current_state );
3751 */
Lev Walkin03892812010-11-03 09:33:03 -07003752/* %if-c-only */
3753 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3754/* %endif */
3755/* %if-c++-only */
3756/* %endif */
3757{
Lev Walkinf15320b2004-06-03 03:38:44 +00003758 register int yy_is_jam;
Lev Walkin03892812010-11-03 09:33:03 -07003759 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003760
3761 register YY_CHAR yy_c = 1;
3762 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3763 {
3764 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinadf863f2006-09-05 16:18:34 +00003765 if ( yy_current_state >= 742 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003766 yy_c = yy_meta[(unsigned int) yy_c];
3767 }
3768 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkinadf863f2006-09-05 16:18:34 +00003769 yy_is_jam = (yy_current_state == 741);
Lev Walkinf15320b2004-06-03 03:38:44 +00003770 if ( ! yy_is_jam )
Lev Walkin03892812010-11-03 09:33:03 -07003771 *(yy_state_ptr)++ = yy_current_state;
Lev Walkinf15320b2004-06-03 03:38:44 +00003772
3773 return yy_is_jam ? 0 : yy_current_state;
Lev Walkin03892812010-11-03 09:33:03 -07003774}
Lev Walkinf15320b2004-06-03 03:38:44 +00003775
Lev Walkin03892812010-11-03 09:33:03 -07003776/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00003777
Lev Walkin03892812010-11-03 09:33:03 -07003778 static void yyunput (int c, register char * yy_bp )
3779/* %endif */
3780/* %if-c++-only */
3781/* %endif */
3782{
3783 register char *yy_cp;
3784
3785 yy_cp = (yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003786
Lev Walkin03892812010-11-03 09:33:03 -07003787 /* undo effects of setting up asn1p_text */
3788 *yy_cp = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003789
Lev Walkin03892812010-11-03 09:33:03 -07003790 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003791 { /* need to shift things up to make room */
3792 /* +2 for EOB chars. */
Lev Walkin03892812010-11-03 09:33:03 -07003793 register int number_to_move = (yy_n_chars) + 2;
3794 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3795 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
Lev Walkinf15320b2004-06-03 03:38:44 +00003796 register char *source =
Lev Walkin03892812010-11-03 09:33:03 -07003797 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
Lev Walkinf15320b2004-06-03 03:38:44 +00003798
Lev Walkin03892812010-11-03 09:33:03 -07003799 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
Lev Walkinf15320b2004-06-03 03:38:44 +00003800 *--dest = *--source;
3801
3802 yy_cp += (int) (dest - source);
3803 yy_bp += (int) (dest - source);
Lev Walkin03892812010-11-03 09:33:03 -07003804 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3805 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
Lev Walkinf15320b2004-06-03 03:38:44 +00003806
Lev Walkin03892812010-11-03 09:33:03 -07003807 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003808 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3809 }
3810
3811 *--yy_cp = (char) c;
3812
Lev Walkin03892812010-11-03 09:33:03 -07003813/* %% [18.0] update asn1p_lineno here */
Lev Walkinf15320b2004-06-03 03:38:44 +00003814
Lev Walkin03892812010-11-03 09:33:03 -07003815 if ( c == '\n' ){
3816 --asn1p_lineno;
3817 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003818
Lev Walkin03892812010-11-03 09:33:03 -07003819 (yytext_ptr) = yy_bp;
3820 (yy_hold_char) = *yy_cp;
3821 (yy_c_buf_p) = yy_cp;
3822}
3823/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00003824
Lev Walkin03892812010-11-03 09:33:03 -07003825/* %endif */
3826
3827/* %if-c-only */
3828#ifndef YY_NO_INPUT
Lev Walkinf15320b2004-06-03 03:38:44 +00003829#ifdef __cplusplus
Lev Walkin03892812010-11-03 09:33:03 -07003830 static int yyinput (void)
Lev Walkinf15320b2004-06-03 03:38:44 +00003831#else
Lev Walkin03892812010-11-03 09:33:03 -07003832 static int input (void)
Lev Walkinf15320b2004-06-03 03:38:44 +00003833#endif
Lev Walkin03892812010-11-03 09:33:03 -07003834
3835/* %endif */
3836/* %if-c++-only */
3837/* %endif */
3838{
Lev Walkinf15320b2004-06-03 03:38:44 +00003839 int c;
Lev Walkin03892812010-11-03 09:33:03 -07003840
3841 *(yy_c_buf_p) = (yy_hold_char);
Lev Walkinf15320b2004-06-03 03:38:44 +00003842
Lev Walkin03892812010-11-03 09:33:03 -07003843 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
Lev Walkinf15320b2004-06-03 03:38:44 +00003844 {
3845 /* yy_c_buf_p now points to the character we want to return.
3846 * If this occurs *before* the EOB characters, then it's a
3847 * valid NUL; if not, then we've hit the end of the buffer.
3848 */
Lev Walkin03892812010-11-03 09:33:03 -07003849 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
Lev Walkinf15320b2004-06-03 03:38:44 +00003850 /* This was really a NUL. */
Lev Walkin03892812010-11-03 09:33:03 -07003851 *(yy_c_buf_p) = '\0';
Lev Walkinf15320b2004-06-03 03:38:44 +00003852
3853 else
3854 { /* need more input */
Lev Walkin03892812010-11-03 09:33:03 -07003855 int offset = (yy_c_buf_p) - (yytext_ptr);
3856 ++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003857
Lev Walkin03892812010-11-03 09:33:03 -07003858 switch ( yy_get_next_buffer( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003859 {
3860 case EOB_ACT_LAST_MATCH:
3861 /* This happens because yy_g_n_b()
3862 * sees that we've accumulated a
3863 * token and flags that we need to
3864 * try matching the token before
3865 * proceeding. But for input(),
3866 * there's no matching to consider.
3867 * So convert the EOB_ACT_LAST_MATCH
3868 * to EOB_ACT_END_OF_FILE.
3869 */
3870
3871 /* Reset buffer status. */
Lev Walkin03892812010-11-03 09:33:03 -07003872 asn1p_restart(asn1p_in );
Lev Walkinf15320b2004-06-03 03:38:44 +00003873
Lev Walkin03892812010-11-03 09:33:03 -07003874 /*FALLTHROUGH*/
Lev Walkinf15320b2004-06-03 03:38:44 +00003875
3876 case EOB_ACT_END_OF_FILE:
3877 {
Lev Walkin03892812010-11-03 09:33:03 -07003878 if ( asn1p_wrap( ) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003879 return EOF;
3880
Lev Walkin03892812010-11-03 09:33:03 -07003881 if ( ! (yy_did_buffer_switch_on_eof) )
Lev Walkinf15320b2004-06-03 03:38:44 +00003882 YY_NEW_FILE;
3883#ifdef __cplusplus
3884 return yyinput();
3885#else
3886 return input();
3887#endif
3888 }
3889
3890 case EOB_ACT_CONTINUE_SCAN:
Lev Walkin03892812010-11-03 09:33:03 -07003891 (yy_c_buf_p) = (yytext_ptr) + offset;
Lev Walkinf15320b2004-06-03 03:38:44 +00003892 break;
3893 }
3894 }
3895 }
3896
Lev Walkin03892812010-11-03 09:33:03 -07003897 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3898 *(yy_c_buf_p) = '\0'; /* preserve asn1p_text */
3899 (yy_hold_char) = *++(yy_c_buf_p);
Lev Walkinf15320b2004-06-03 03:38:44 +00003900
Lev Walkin03892812010-11-03 09:33:03 -07003901/* %% [19.0] update BOL and asn1p_lineno */
Lev Walkinf15320b2004-06-03 03:38:44 +00003902 if ( c == '\n' )
Lev Walkin03892812010-11-03 09:33:03 -07003903
3904 asn1p_lineno++;
3905;
Lev Walkinf15320b2004-06-03 03:38:44 +00003906
3907 return c;
Lev Walkin03892812010-11-03 09:33:03 -07003908}
3909/* %if-c-only */
3910#endif /* ifndef YY_NO_INPUT */
3911/* %endif */
3912
3913/** Immediately switch to a different input stream.
3914 * @param input_file A readable stream.
3915 *
3916 * @note This function does not reset the start condition to @c INITIAL .
3917 */
3918/* %if-c-only */
3919 void asn1p_restart (FILE * input_file )
3920/* %endif */
3921/* %if-c++-only */
3922/* %endif */
3923{
3924
3925 if ( ! YY_CURRENT_BUFFER ){
3926 asn1p_ensure_buffer_stack ();
3927 YY_CURRENT_BUFFER_LVALUE =
3928 asn1p__create_buffer(asn1p_in,YY_BUF_SIZE );
Lev Walkinf15320b2004-06-03 03:38:44 +00003929 }
3930
Lev Walkin03892812010-11-03 09:33:03 -07003931 asn1p__init_buffer(YY_CURRENT_BUFFER,input_file );
3932 asn1p__load_buffer_state( );
3933}
Lev Walkinf15320b2004-06-03 03:38:44 +00003934
Lev Walkin03892812010-11-03 09:33:03 -07003935/** Switch to a different input buffer.
3936 * @param new_buffer The new input buffer.
3937 *
3938 */
3939/* %if-c-only */
3940 void asn1p__switch_to_buffer (YY_BUFFER_STATE new_buffer )
3941/* %endif */
3942/* %if-c++-only */
3943/* %endif */
3944{
3945
3946 /* TODO. We should be able to replace this entire function body
3947 * with
3948 * asn1p_pop_buffer_state();
3949 * asn1p_push_buffer_state(new_buffer);
3950 */
3951 asn1p_ensure_buffer_stack ();
3952 if ( YY_CURRENT_BUFFER == new_buffer )
Lev Walkinf15320b2004-06-03 03:38:44 +00003953 return;
3954
Lev Walkin03892812010-11-03 09:33:03 -07003955 if ( YY_CURRENT_BUFFER )
Lev Walkinf15320b2004-06-03 03:38:44 +00003956 {
3957 /* Flush out information for old buffer. */
Lev Walkin03892812010-11-03 09:33:03 -07003958 *(yy_c_buf_p) = (yy_hold_char);
3959 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3960 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
Lev Walkinf15320b2004-06-03 03:38:44 +00003961 }
3962
Lev Walkin03892812010-11-03 09:33:03 -07003963 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3964 asn1p__load_buffer_state( );
Lev Walkinf15320b2004-06-03 03:38:44 +00003965
3966 /* We don't actually know whether we did this switch during
Lev Walkin03892812010-11-03 09:33:03 -07003967 * EOF (asn1p_wrap()) processing, but the only time this flag
3968 * is looked at is after asn1p_wrap() is called, so it's safe
Lev Walkinf15320b2004-06-03 03:38:44 +00003969 * to go ahead and always set it.
3970 */
Lev Walkin03892812010-11-03 09:33:03 -07003971 (yy_did_buffer_switch_on_eof) = 1;
3972}
Lev Walkinf15320b2004-06-03 03:38:44 +00003973
Lev Walkin03892812010-11-03 09:33:03 -07003974/* %if-c-only */
3975static void asn1p__load_buffer_state (void)
3976/* %endif */
3977/* %if-c++-only */
3978/* %endif */
3979{
3980 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3981 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3982 asn1p_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3983 (yy_hold_char) = *(yy_c_buf_p);
3984}
Lev Walkinf15320b2004-06-03 03:38:44 +00003985
Lev Walkin03892812010-11-03 09:33:03 -07003986/** Allocate and initialize an input buffer state.
3987 * @param file A readable stream.
3988 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3989 *
3990 * @return the allocated buffer state.
3991 */
3992/* %if-c-only */
3993 YY_BUFFER_STATE asn1p__create_buffer (FILE * file, int size )
3994/* %endif */
3995/* %if-c++-only */
3996/* %endif */
3997{
Lev Walkinf15320b2004-06-03 03:38:44 +00003998 YY_BUFFER_STATE b;
Lev Walkin03892812010-11-03 09:33:03 -07003999
4000 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
Lev Walkinf15320b2004-06-03 03:38:44 +00004001 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004002 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004003
4004 b->yy_buf_size = size;
4005
4006 /* yy_ch_buf has to be 2 characters longer than the size given because
4007 * we need to put in 2 end-of-buffer characters.
4008 */
Lev Walkin03892812010-11-03 09:33:03 -07004009 b->yy_ch_buf = (char *) asn1p_alloc(b->yy_buf_size + 2 );
Lev Walkinf15320b2004-06-03 03:38:44 +00004010 if ( ! b->yy_ch_buf )
Lev Walkin03892812010-11-03 09:33:03 -07004011 YY_FATAL_ERROR( "out of dynamic memory in asn1p__create_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004012
4013 b->yy_is_our_buffer = 1;
4014
Lev Walkin03892812010-11-03 09:33:03 -07004015 asn1p__init_buffer(b,file );
Lev Walkinf15320b2004-06-03 03:38:44 +00004016
4017 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004018}
Lev Walkinf15320b2004-06-03 03:38:44 +00004019
Lev Walkin03892812010-11-03 09:33:03 -07004020/** Destroy the buffer.
4021 * @param b a buffer created with asn1p__create_buffer()
4022 *
4023 */
4024/* %if-c-only */
4025 void asn1p__delete_buffer (YY_BUFFER_STATE b )
4026/* %endif */
4027/* %if-c++-only */
4028/* %endif */
4029{
4030
Lev Walkinf15320b2004-06-03 03:38:44 +00004031 if ( ! b )
4032 return;
4033
Lev Walkin03892812010-11-03 09:33:03 -07004034 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4035 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
Lev Walkinf15320b2004-06-03 03:38:44 +00004036
4037 if ( b->yy_is_our_buffer )
Lev Walkin03892812010-11-03 09:33:03 -07004038 asn1p_free((void *) b->yy_ch_buf );
Lev Walkinf15320b2004-06-03 03:38:44 +00004039
Lev Walkin03892812010-11-03 09:33:03 -07004040 asn1p_free((void *) b );
4041}
Lev Walkinf15320b2004-06-03 03:38:44 +00004042
Lev Walkin03892812010-11-03 09:33:03 -07004043/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00004044
Lev Walkin03892812010-11-03 09:33:03 -07004045/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004046
Lev Walkin03892812010-11-03 09:33:03 -07004047/* %if-c++-only */
4048/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004049
Lev Walkin03892812010-11-03 09:33:03 -07004050/* Initializes or reinitializes a buffer.
4051 * This function is sometimes called more than once on the same buffer,
4052 * such as during a asn1p_restart() or at EOF.
4053 */
4054/* %if-c-only */
4055 static void asn1p__init_buffer (YY_BUFFER_STATE b, FILE * file )
4056/* %endif */
4057/* %if-c++-only */
4058/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004059
Lev Walkin03892812010-11-03 09:33:03 -07004060{
4061 int oerrno = errno;
4062
4063 asn1p__flush_buffer(b );
Lev Walkinf15320b2004-06-03 03:38:44 +00004064
4065 b->yy_input_file = file;
4066 b->yy_fill_buffer = 1;
4067
Lev Walkin03892812010-11-03 09:33:03 -07004068 /* If b is the current buffer, then asn1p__init_buffer was _probably_
4069 * called from asn1p_restart() or through yy_get_next_buffer.
4070 * In that case, we don't want to reset the lineno or column.
4071 */
4072 if (b != YY_CURRENT_BUFFER){
4073 b->yy_bs_lineno = 1;
4074 b->yy_bs_column = 0;
4075 }
Lev Walkinf15320b2004-06-03 03:38:44 +00004076
Lev Walkin03892812010-11-03 09:33:03 -07004077/* %if-c-only */
Lev Walkinf15320b2004-06-03 03:38:44 +00004078
Lev Walkin03892812010-11-03 09:33:03 -07004079 b->yy_is_interactive = 0;
4080
4081/* %endif */
4082/* %if-c++-only */
4083/* %endif */
4084 errno = oerrno;
4085}
Lev Walkinf15320b2004-06-03 03:38:44 +00004086
Lev Walkin03892812010-11-03 09:33:03 -07004087/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4088 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4089 *
4090 */
4091/* %if-c-only */
4092 void asn1p__flush_buffer (YY_BUFFER_STATE b )
4093/* %endif */
4094/* %if-c++-only */
4095/* %endif */
4096{
4097 if ( ! b )
Lev Walkinf15320b2004-06-03 03:38:44 +00004098 return;
4099
4100 b->yy_n_chars = 0;
4101
4102 /* We always need two end-of-buffer characters. The first causes
4103 * a transition to the end-of-buffer state. The second causes
4104 * a jam in that state.
4105 */
4106 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4107 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4108
4109 b->yy_buf_pos = &b->yy_ch_buf[0];
4110
4111 b->yy_at_bol = 1;
4112 b->yy_buffer_status = YY_BUFFER_NEW;
4113
Lev Walkin03892812010-11-03 09:33:03 -07004114 if ( b == YY_CURRENT_BUFFER )
4115 asn1p__load_buffer_state( );
4116}
4117
4118/* %if-c-or-c++ */
4119/** Pushes the new state onto the stack. The new state becomes
4120 * the current state. This function will allocate the stack
4121 * if necessary.
4122 * @param new_buffer The new state.
4123 *
4124 */
4125/* %if-c-only */
4126void asn1p_push_buffer_state (YY_BUFFER_STATE new_buffer )
4127/* %endif */
4128/* %if-c++-only */
4129/* %endif */
4130{
4131 if (new_buffer == NULL)
4132 return;
4133
4134 asn1p_ensure_buffer_stack();
4135
4136 /* This block is copied from asn1p__switch_to_buffer. */
4137 if ( YY_CURRENT_BUFFER )
4138 {
4139 /* Flush out information for old buffer. */
4140 *(yy_c_buf_p) = (yy_hold_char);
4141 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4142 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4143 }
4144
4145 /* Only push if top exists. Otherwise, replace top. */
4146 if (YY_CURRENT_BUFFER)
4147 (yy_buffer_stack_top)++;
4148 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4149
4150 /* copied from asn1p__switch_to_buffer. */
4151 asn1p__load_buffer_state( );
4152 (yy_did_buffer_switch_on_eof) = 1;
4153}
4154/* %endif */
4155
4156/* %if-c-or-c++ */
4157/** Removes and deletes the top of the stack, if present.
4158 * The next element becomes the new top.
4159 *
4160 */
4161/* %if-c-only */
4162void asn1p_pop_buffer_state (void)
4163/* %endif */
4164/* %if-c++-only */
4165/* %endif */
4166{
4167 if (!YY_CURRENT_BUFFER)
4168 return;
4169
4170 asn1p__delete_buffer(YY_CURRENT_BUFFER );
4171 YY_CURRENT_BUFFER_LVALUE = NULL;
4172 if ((yy_buffer_stack_top) > 0)
4173 --(yy_buffer_stack_top);
4174
4175 if (YY_CURRENT_BUFFER) {
4176 asn1p__load_buffer_state( );
4177 (yy_did_buffer_switch_on_eof) = 1;
4178 }
4179}
4180/* %endif */
4181
4182/* %if-c-or-c++ */
4183/* Allocates the stack if it does not exist.
4184 * Guarantees space for at least one push.
4185 */
4186/* %if-c-only */
4187static void asn1p_ensure_buffer_stack (void)
4188/* %endif */
4189/* %if-c++-only */
4190/* %endif */
4191{
4192 int num_to_alloc;
4193
4194 if (!(yy_buffer_stack)) {
4195
4196 /* First allocation is just for 2 elements, since we don't know if this
4197 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4198 * immediate realloc on the next call.
4199 */
4200 num_to_alloc = 1;
4201 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_alloc
4202 (num_to_alloc * sizeof(struct yy_buffer_state*)
4203 );
4204 if ( ! (yy_buffer_stack) )
4205 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4206
4207 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4208
4209 (yy_buffer_stack_max) = num_to_alloc;
4210 (yy_buffer_stack_top) = 0;
4211 return;
Lev Walkinf15320b2004-06-03 03:38:44 +00004212 }
4213
Lev Walkin03892812010-11-03 09:33:03 -07004214 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
Lev Walkinf15320b2004-06-03 03:38:44 +00004215
Lev Walkin03892812010-11-03 09:33:03 -07004216 /* Increase the buffer to prepare for a possible push. */
4217 int grow_size = 8 /* arbitrary grow size */;
4218
4219 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4220 (yy_buffer_stack) = (struct yy_buffer_state**)asn1p_realloc
4221 ((yy_buffer_stack),
4222 num_to_alloc * sizeof(struct yy_buffer_state*)
4223 );
4224 if ( ! (yy_buffer_stack) )
4225 YY_FATAL_ERROR( "out of dynamic memory in asn1p_ensure_buffer_stack()" );
4226
4227 /* zero only the new slots.*/
4228 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4229 (yy_buffer_stack_max) = num_to_alloc;
4230 }
4231}
4232/* %endif */
4233
4234/* %if-c-only */
4235/** Setup the input buffer state to scan directly from a user-specified character buffer.
4236 * @param base the character buffer
4237 * @param size the size in bytes of the character buffer
4238 *
4239 * @return the newly allocated buffer state object.
4240 */
4241YY_BUFFER_STATE asn1p__scan_buffer (char * base, yy_size_t size )
4242{
Lev Walkinf15320b2004-06-03 03:38:44 +00004243 YY_BUFFER_STATE b;
Lev Walkin03892812010-11-03 09:33:03 -07004244
Lev Walkinf15320b2004-06-03 03:38:44 +00004245 if ( size < 2 ||
4246 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4247 base[size-1] != YY_END_OF_BUFFER_CHAR )
4248 /* They forgot to leave room for the EOB's. */
4249 return 0;
4250
Lev Walkin03892812010-11-03 09:33:03 -07004251 b = (YY_BUFFER_STATE) asn1p_alloc(sizeof( struct yy_buffer_state ) );
Lev Walkinf15320b2004-06-03 03:38:44 +00004252 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004253 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_buffer()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004254
4255 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4256 b->yy_buf_pos = b->yy_ch_buf = base;
4257 b->yy_is_our_buffer = 0;
4258 b->yy_input_file = 0;
4259 b->yy_n_chars = b->yy_buf_size;
4260 b->yy_is_interactive = 0;
4261 b->yy_at_bol = 1;
4262 b->yy_fill_buffer = 0;
4263 b->yy_buffer_status = YY_BUFFER_NEW;
4264
Lev Walkin03892812010-11-03 09:33:03 -07004265 asn1p__switch_to_buffer(b );
Lev Walkinf15320b2004-06-03 03:38:44 +00004266
4267 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004268}
4269/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004270
Lev Walkin03892812010-11-03 09:33:03 -07004271/* %if-c-only */
4272/** Setup the input buffer state to scan a string. The next call to asn1p_lex() will
4273 * scan from a @e copy of @a str.
4274 * @param yystr a NUL-terminated string to scan
4275 *
4276 * @return the newly allocated buffer state object.
4277 * @note If you want to scan bytes that may contain NUL values, then use
4278 * asn1p__scan_bytes() instead.
4279 */
4280YY_BUFFER_STATE asn1p__scan_string (yyconst char * yystr )
4281{
4282
4283 return asn1p__scan_bytes(yystr,strlen(yystr) );
4284}
4285/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004286
Lev Walkin03892812010-11-03 09:33:03 -07004287/* %if-c-only */
4288/** Setup the input buffer state to scan the given bytes. The next call to asn1p_lex() will
4289 * scan from a @e copy of @a bytes.
4290 * @param bytes the byte buffer to scan
4291 * @param len the number of bytes in the buffer pointed to by @a bytes.
4292 *
4293 * @return the newly allocated buffer state object.
4294 */
4295YY_BUFFER_STATE asn1p__scan_bytes (yyconst char * yybytes, int _yybytes_len )
4296{
Lev Walkinf15320b2004-06-03 03:38:44 +00004297 YY_BUFFER_STATE b;
4298 char *buf;
4299 yy_size_t n;
4300 int i;
Lev Walkin03892812010-11-03 09:33:03 -07004301
Lev Walkinf15320b2004-06-03 03:38:44 +00004302 /* Get memory for full buffer, including space for trailing EOB's. */
Lev Walkin03892812010-11-03 09:33:03 -07004303 n = _yybytes_len + 2;
4304 buf = (char *) asn1p_alloc(n );
Lev Walkinf15320b2004-06-03 03:38:44 +00004305 if ( ! buf )
Lev Walkin03892812010-11-03 09:33:03 -07004306 YY_FATAL_ERROR( "out of dynamic memory in asn1p__scan_bytes()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004307
Lev Walkin03892812010-11-03 09:33:03 -07004308 for ( i = 0; i < _yybytes_len; ++i )
4309 buf[i] = yybytes[i];
Lev Walkinf15320b2004-06-03 03:38:44 +00004310
Lev Walkin03892812010-11-03 09:33:03 -07004311 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
Lev Walkinf15320b2004-06-03 03:38:44 +00004312
Lev Walkin03892812010-11-03 09:33:03 -07004313 b = asn1p__scan_buffer(buf,n );
Lev Walkinf15320b2004-06-03 03:38:44 +00004314 if ( ! b )
Lev Walkin03892812010-11-03 09:33:03 -07004315 YY_FATAL_ERROR( "bad buffer in asn1p__scan_bytes()" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004316
4317 /* It's okay to grow etc. this buffer, and we should throw it
4318 * away when we're done.
4319 */
4320 b->yy_is_our_buffer = 1;
4321
4322 return b;
Lev Walkin03892812010-11-03 09:33:03 -07004323}
4324/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004325
Lev Walkin03892812010-11-03 09:33:03 -07004326/* %if-c-only */
4327 static void yy_push_state (int new_state )
4328/* %endif */
4329/* %if-c++-only */
4330/* %endif */
4331{
4332 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
Lev Walkinf15320b2004-06-03 03:38:44 +00004333 {
4334 yy_size_t new_size;
4335
Lev Walkin03892812010-11-03 09:33:03 -07004336 (yy_start_stack_depth) += YY_START_STACK_INCR;
4337 new_size = (yy_start_stack_depth) * sizeof( int );
Lev Walkinf15320b2004-06-03 03:38:44 +00004338
Lev Walkin03892812010-11-03 09:33:03 -07004339 if ( ! (yy_start_stack) )
4340 (yy_start_stack) = (int *) asn1p_alloc(new_size );
Lev Walkinf15320b2004-06-03 03:38:44 +00004341
4342 else
Lev Walkin03892812010-11-03 09:33:03 -07004343 (yy_start_stack) = (int *) asn1p_realloc((void *) (yy_start_stack),new_size );
Lev Walkinf15320b2004-06-03 03:38:44 +00004344
Lev Walkin03892812010-11-03 09:33:03 -07004345 if ( ! (yy_start_stack) )
4346 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
Lev Walkinf15320b2004-06-03 03:38:44 +00004347 }
4348
Lev Walkin03892812010-11-03 09:33:03 -07004349 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
Lev Walkinf15320b2004-06-03 03:38:44 +00004350
4351 BEGIN(new_state);
Lev Walkin03892812010-11-03 09:33:03 -07004352}
Lev Walkinf15320b2004-06-03 03:38:44 +00004353
Lev Walkin03892812010-11-03 09:33:03 -07004354/* %if-c-only */
4355 static void yy_pop_state (void)
4356/* %endif */
4357/* %if-c++-only */
4358/* %endif */
4359{
4360 if ( --(yy_start_stack_ptr) < 0 )
Lev Walkinf15320b2004-06-03 03:38:44 +00004361 YY_FATAL_ERROR( "start-condition stack underflow" );
4362
Lev Walkin03892812010-11-03 09:33:03 -07004363 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4364}
Lev Walkinf15320b2004-06-03 03:38:44 +00004365
Lev Walkin03892812010-11-03 09:33:03 -07004366/* %if-c-only */
4367 static int yy_top_state (void)
4368/* %endif */
4369/* %if-c++-only */
4370/* %endif */
4371{
4372 return (yy_start_stack)[(yy_start_stack_ptr) - 1];
4373}
Lev Walkinf15320b2004-06-03 03:38:44 +00004374
4375#ifndef YY_EXIT_FAILURE
4376#define YY_EXIT_FAILURE 2
4377#endif
4378
Lev Walkin03892812010-11-03 09:33:03 -07004379/* %if-c-only */
4380static void yy_fatal_error (yyconst char* msg )
4381{
4382 (void) fprintf( stderr, "%s\n", msg );
Lev Walkinf15320b2004-06-03 03:38:44 +00004383 exit( YY_EXIT_FAILURE );
Lev Walkin03892812010-11-03 09:33:03 -07004384}
4385/* %endif */
4386/* %if-c++-only */
4387/* %endif */
Lev Walkinf15320b2004-06-03 03:38:44 +00004388
4389/* Redefine yyless() so it works in section 3 code. */
4390
4391#undef yyless
4392#define yyless(n) \
4393 do \
4394 { \
Lev Walkin03892812010-11-03 09:33:03 -07004395 /* Undo effects of setting up asn1p_text. */ \
4396 int yyless_macro_arg = (n); \
4397 YY_LESS_LINENO(yyless_macro_arg);\
4398 asn1p_text[asn1p_leng] = (yy_hold_char); \
4399 (yy_c_buf_p) = asn1p_text + yyless_macro_arg; \
4400 (yy_hold_char) = *(yy_c_buf_p); \
4401 *(yy_c_buf_p) = '\0'; \
4402 asn1p_leng = yyless_macro_arg; \
Lev Walkinf15320b2004-06-03 03:38:44 +00004403 } \
4404 while ( 0 )
4405
Lev Walkin03892812010-11-03 09:33:03 -07004406/* Accessor methods (get/set functions) to struct members. */
Lev Walkinf15320b2004-06-03 03:38:44 +00004407
Lev Walkin03892812010-11-03 09:33:03 -07004408/* %if-c-only */
4409/* %if-reentrant */
4410/* %endif */
4411
4412/** Get the current line number.
4413 *
4414 */
4415int asn1p_get_lineno (void)
4416{
4417
4418 return asn1p_lineno;
4419}
4420
4421/** Get the input stream.
4422 *
4423 */
4424FILE *asn1p_get_in (void)
4425{
4426 return asn1p_in;
4427}
4428
4429/** Get the output stream.
4430 *
4431 */
4432FILE *asn1p_get_out (void)
4433{
4434 return asn1p_out;
4435}
4436
4437/** Get the length of the current token.
4438 *
4439 */
4440int asn1p_get_leng (void)
4441{
4442 return asn1p_leng;
4443}
4444
4445/** Get the current token.
4446 *
4447 */
4448
4449char *asn1p_get_text (void)
4450{
4451 return asn1p_text;
4452}
4453
4454/* %if-reentrant */
4455/* %endif */
4456
4457/** Set the current line number.
4458 * @param line_number
4459 *
4460 */
4461void asn1p_set_lineno (int line_number )
4462{
4463
4464 asn1p_lineno = line_number;
4465}
4466
4467/** Set the input stream. This does not discard the current
4468 * input buffer.
4469 * @param in_str A readable stream.
4470 *
4471 * @see asn1p__switch_to_buffer
4472 */
4473void asn1p_set_in (FILE * in_str )
4474{
4475 asn1p_in = in_str ;
4476}
4477
4478void asn1p_set_out (FILE * out_str )
4479{
4480 asn1p_out = out_str ;
4481}
4482
4483int asn1p_get_debug (void)
4484{
4485 return asn1p__flex_debug;
4486}
4487
4488void asn1p_set_debug (int bdebug )
4489{
4490 asn1p__flex_debug = bdebug ;
4491}
4492
4493/* %endif */
4494
4495/* %if-reentrant */
4496/* %if-bison-bridge */
4497/* %endif */
4498/* %endif if-c-only */
4499
4500/* %if-c-only */
4501static int yy_init_globals (void)
4502{
4503 /* Initialization is the same as for the non-reentrant scanner.
4504 * This function is called from asn1p_lex_destroy(), so don't allocate here.
4505 */
4506
4507 /* We do not touch asn1p_lineno unless the option is enabled. */
4508 asn1p_lineno = 1;
4509
4510 (yy_buffer_stack) = 0;
4511 (yy_buffer_stack_top) = 0;
4512 (yy_buffer_stack_max) = 0;
4513 (yy_c_buf_p) = (char *) 0;
4514 (yy_init) = 0;
4515 (yy_start) = 0;
4516
4517 (yy_start_stack_ptr) = 0;
4518 (yy_start_stack_depth) = 0;
4519 (yy_start_stack) = NULL;
4520
4521 (yy_state_buf) = 0;
4522 (yy_state_ptr) = 0;
4523 (yy_full_match) = 0;
4524 (yy_lp) = 0;
4525
4526/* Defined in main.c */
4527#ifdef YY_STDINIT
4528 asn1p_in = stdin;
4529 asn1p_out = stdout;
4530#else
4531 asn1p_in = (FILE *) 0;
4532 asn1p_out = (FILE *) 0;
4533#endif
4534
4535 /* For future reference: Set errno on error, since we are called by
4536 * asn1p_lex_init()
4537 */
4538 return 0;
4539}
4540/* %endif */
4541
4542/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
4543/* asn1p_lex_destroy is for both reentrant and non-reentrant scanners. */
4544int asn1p_lex_destroy (void)
4545{
4546
4547 /* Pop the buffer stack, destroying each element. */
4548 while(YY_CURRENT_BUFFER){
4549 asn1p__delete_buffer(YY_CURRENT_BUFFER );
4550 YY_CURRENT_BUFFER_LVALUE = NULL;
4551 asn1p_pop_buffer_state();
4552 }
4553
4554 /* Destroy the stack itself. */
4555 asn1p_free((yy_buffer_stack) );
4556 (yy_buffer_stack) = NULL;
4557
4558 /* Destroy the start condition stack. */
4559 asn1p_free((yy_start_stack) );
4560 (yy_start_stack) = NULL;
4561
4562 asn1p_free ( (yy_state_buf) );
4563 (yy_state_buf) = NULL;
4564
4565 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4566 * asn1p_lex() is called, initialization will occur. */
4567 yy_init_globals( );
4568
4569/* %if-reentrant */
4570/* %endif */
4571 return 0;
4572}
4573/* %endif */
4574
4575/*
4576 * Internal utility routines.
4577 */
Lev Walkinf15320b2004-06-03 03:38:44 +00004578
4579#ifndef yytext_ptr
Lev Walkin03892812010-11-03 09:33:03 -07004580static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4581{
Lev Walkinf15320b2004-06-03 03:38:44 +00004582 register int i;
4583 for ( i = 0; i < n; ++i )
4584 s1[i] = s2[i];
Lev Walkin03892812010-11-03 09:33:03 -07004585}
Lev Walkinf15320b2004-06-03 03:38:44 +00004586#endif
4587
4588#ifdef YY_NEED_STRLEN
Lev Walkin03892812010-11-03 09:33:03 -07004589static int yy_flex_strlen (yyconst char * s )
4590{
Lev Walkinf15320b2004-06-03 03:38:44 +00004591 register int n;
4592 for ( n = 0; s[n]; ++n )
4593 ;
4594
4595 return n;
Lev Walkin03892812010-11-03 09:33:03 -07004596}
Lev Walkinf15320b2004-06-03 03:38:44 +00004597#endif
4598
Lev Walkin03892812010-11-03 09:33:03 -07004599void *asn1p_alloc (yy_size_t size )
4600{
Lev Walkinf15320b2004-06-03 03:38:44 +00004601 return (void *) malloc( size );
Lev Walkin03892812010-11-03 09:33:03 -07004602}
Lev Walkinf15320b2004-06-03 03:38:44 +00004603
Lev Walkin03892812010-11-03 09:33:03 -07004604void *asn1p_realloc (void * ptr, yy_size_t size )
4605{
Lev Walkinf15320b2004-06-03 03:38:44 +00004606 /* The cast to (char *) in the following accommodates both
4607 * implementations that use char* generic pointers, and those
4608 * that use void* generic pointers. It works with the latter
4609 * because both ANSI C and C++ allow castless assignment from
4610 * any pointer type to void*, and deal with argument conversions
4611 * as though doing an assignment.
4612 */
4613 return (void *) realloc( (char *) ptr, size );
Lev Walkin03892812010-11-03 09:33:03 -07004614}
Lev Walkinf15320b2004-06-03 03:38:44 +00004615
Lev Walkin03892812010-11-03 09:33:03 -07004616void asn1p_free (void * ptr )
4617{
4618 free( (char *) ptr ); /* see asn1p_realloc() for (char *) cast */
4619}
Lev Walkinf15320b2004-06-03 03:38:44 +00004620
Lev Walkin03892812010-11-03 09:33:03 -07004621/* %if-tables-serialization definitions */
4622/* %define-yytables The name for this specific scanner's tables. */
4623#define YYTABLES_NAME "yytables"
4624/* %endif */
4625
4626/* %ok-for-header */
4627
Lev Walkinadf863f2006-09-05 16:18:34 +00004628#line 546 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00004629
4630
Lev Walkin03892812010-11-03 09:33:03 -07004631
Lev Walkinf15320b2004-06-03 03:38:44 +00004632/*
4633 * Very dirty but wonderful hack allowing to rule states from within .y file.
4634 */
Lev Walkinf59d0752004-08-18 04:59:12 +00004635void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
Lev Walkinf15320b2004-06-03 03:38:44 +00004636
4637/*
4638 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
4639 */
Lev Walkinf59d0752004-08-18 04:59:12 +00004640void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
4641
4642/* Yet another */
4643void asn1p_lexer_hack_push_encoding_control() {
4644 yy_push_state(encoding_control);
Lev Walkinf15320b2004-06-03 03:38:44 +00004645}
4646
Lev Walkind21c5052004-09-29 13:18:09 +00004647static asn1c_integer_t
Lev Walkind370e9f2006-03-16 10:03:35 +00004648_lex_atoi(const char *ptr) {
Lev Walkind21c5052004-09-29 13:18:09 +00004649 asn1c_integer_t value;
Lev Walkind370e9f2006-03-16 10:03:35 +00004650 if(asn1p_atoi(ptr, &value)) {
Lev Walkinf15320b2004-06-03 03:38:44 +00004651 fprintf(stderr,
4652 "Value \"%s\" at line %d is too large "
Lev Walkin129a79e2005-04-05 08:46:22 +00004653 "for this compiler! Please contact the asn1c author.\n",
Lev Walkin03892812010-11-03 09:33:03 -07004654 ptr, asn1p_lineno);
Lev Walkind370e9f2006-03-16 10:03:35 +00004655 errno = ERANGE;
Lev Walkinf15320b2004-06-03 03:38:44 +00004656 }
Lev Walkinf15320b2004-06-03 03:38:44 +00004657 return value;
4658}
Lev Walkinadf863f2006-09-05 16:18:34 +00004659
4660static double
4661_lex_atod(const char *ptr) {
4662 double value;
4663 errno = 0;
4664 value = strtod(ptr, 0);
4665 if(errno) {
4666 fprintf(stderr,
4667 "Value \"%s\" at line %d is outside of `double` range "
4668 "in this compiler! Please contact the asn1c author.\n",
Lev Walkin03892812010-11-03 09:33:03 -07004669 ptr, asn1p_lineno);
Lev Walkinadf863f2006-09-05 16:18:34 +00004670 errno = ERANGE;
4671 }
4672 return value;
4673}
4674
Lev Walkin03892812010-11-03 09:33:03 -07004675