blob: 5dc51c2a84b5cc93f70551d531e17a6ad841b4c0 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001#define yy_create_buffer asn1p__create_buffer
2#define yy_delete_buffer asn1p__delete_buffer
3#define yy_scan_buffer asn1p__scan_buffer
4#define yy_scan_string asn1p__scan_string
5#define yy_scan_bytes asn1p__scan_bytes
6#define yy_flex_debug asn1p__flex_debug
7#define yy_init_buffer asn1p__init_buffer
8#define yy_flush_buffer asn1p__flush_buffer
9#define yy_load_buffer_state asn1p__load_buffer_state
10#define yy_switch_to_buffer asn1p__switch_to_buffer
11#define yyin asn1p_in
12#define yyleng asn1p_leng
13#define yylex asn1p_lex
14#define yyout asn1p_out
15#define yyrestart asn1p_restart
16#define yytext asn1p_text
17#define yylineno asn1p_lineno
18
Lev Walkinf59d0752004-08-18 04:59:12 +000019#line 20 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +000020/* A lexical scanner generated by flex */
21
22/* Scanner skeleton version:
23 * $Header$
24 */
25
26#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
31
32
33/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34#ifdef c_plusplus
35#ifndef __cplusplus
36#define __cplusplus
37#endif
38#endif
39
40
41#ifdef __cplusplus
42
43#include <stdlib.h>
44#include <unistd.h>
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
49/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
56#define YY_USE_PROTOS
57#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
62#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
71#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
77
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
84/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
98#define BEGIN yy_start = 1 + 2 *
99
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
104#define YY_START ((yy_start - 1) / 2)
105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
111#define YY_NEW_FILE yyrestart( yyin )
112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE 16384
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
120extern int yyleng;
121extern FILE *yyin, *yyout;
122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
143#define yyless(n) \
144 do \
145 { \
146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
148 YY_RESTORE_YY_MORE_OFFSET \
149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
151 } \
152 while ( 0 )
153
154#define unput(c) yyunput( c, yytext_ptr )
155
156/* The following is because we cannot portably get our hands on size_t
157 * (without autoconf's help, which isn't available because we want
158 * flex-generated scanners to compile on their own).
159 */
160typedef unsigned int yy_size_t;
161
162
163struct yy_buffer_state
164 {
165 FILE *yy_input_file;
166
167 char *yy_ch_buf; /* input buffer */
168 char *yy_buf_pos; /* current position in input buffer */
169
170 /* Size of input buffer in bytes, not including room for EOB
171 * characters.
172 */
173 yy_size_t yy_buf_size;
174
175 /* Number of characters read into yy_ch_buf, not including EOB
176 * characters.
177 */
178 int yy_n_chars;
179
180 /* Whether we "own" the buffer - i.e., we know we created it,
181 * and can realloc() it to grow it, and should free() it to
182 * delete it.
183 */
184 int yy_is_our_buffer;
185
186 /* Whether this is an "interactive" input source; if so, and
187 * if we're using stdio for input, then we want to use getc()
188 * instead of fread(), to make sure we stop fetching input after
189 * each newline.
190 */
191 int yy_is_interactive;
192
193 /* Whether we're considered to be at the beginning of a line.
194 * If so, '^' rules will be active on the next match, otherwise
195 * not.
196 */
197 int yy_at_bol;
198
199 /* Whether to try to fill the input buffer when we reach the
200 * end of it.
201 */
202 int yy_fill_buffer;
203
204 int yy_buffer_status;
205#define YY_BUFFER_NEW 0
206#define YY_BUFFER_NORMAL 1
207 /* When an EOF's been seen but there's still some text to process
208 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
209 * shouldn't try reading from the input source any more. We might
210 * still have a bunch of tokens to match, though, because of
211 * possible backing-up.
212 *
213 * When we actually see the EOF, we change the status to "new"
214 * (via yyrestart()), so that the user can continue scanning by
215 * just pointing yyin at a new input file.
216 */
217#define YY_BUFFER_EOF_PENDING 2
218 };
219
220static YY_BUFFER_STATE yy_current_buffer = 0;
221
222/* We provide macros for accessing buffer states in case in the
223 * future we want to put the buffer states in a more general
224 * "scanner state".
225 */
226#define YY_CURRENT_BUFFER yy_current_buffer
227
228
229/* yy_hold_char holds the character lost when yytext is formed. */
230static char yy_hold_char;
231
232static int yy_n_chars; /* number of characters read into yy_ch_buf */
233
234
235int yyleng;
236
237/* Points to current character in buffer. */
238static char *yy_c_buf_p = (char *) 0;
239static int yy_init = 1; /* whether we need to initialize */
240static int yy_start = 0; /* start state number */
241
242/* Flag which is used to allow yywrap()'s to do buffer switches
243 * instead of setting up a fresh yyin. A bit of a hack ...
244 */
245static int yy_did_buffer_switch_on_eof;
246
247void yyrestart YY_PROTO(( FILE *input_file ));
248
249void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250void yy_load_buffer_state YY_PROTO(( void ));
251YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
256
257YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
260
261static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
262static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
263static void yy_flex_free YY_PROTO(( void * ));
264
265#define yy_new_buffer yy_create_buffer
266
267#define yy_set_interactive(is_interactive) \
268 { \
269 if ( ! yy_current_buffer ) \
270 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
271 yy_current_buffer->yy_is_interactive = is_interactive; \
272 }
273
274#define yy_set_bol(at_bol) \
275 { \
276 if ( ! yy_current_buffer ) \
277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278 yy_current_buffer->yy_at_bol = at_bol; \
279 }
280
281#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
282
283
284#define YY_USES_REJECT
285
286#define yywrap() 1
287#define YY_SKIP_YYWRAP
288
289#define FLEX_DEBUG
290typedef unsigned char YY_CHAR;
291FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
292typedef int yy_state_type;
293
294#define FLEX_DEBUG
295extern int yylineno;
296int yylineno = 1;
297extern char *yytext;
298#define yytext_ptr yytext
299
300static yy_state_type yy_get_previous_state YY_PROTO(( void ));
301static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
302static int yy_get_next_buffer YY_PROTO(( void ));
303static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
304
305/* Done after the current pattern has been matched and before the
306 * corresponding action - sets up yytext.
307 */
308#define YY_DO_BEFORE_ACTION \
309 yytext_ptr = yy_bp; \
310 yyleng = (int) (yy_cp - yy_bp); \
311 yy_hold_char = *yy_cp; \
312 *yy_cp = '\0'; \
313 yy_c_buf_p = yy_cp;
314
Lev Walkinef625402005-09-05 05:17:57 +0000315#define YY_NUM_RULES 134
316#define YY_END_OF_BUFFER 135
317static yyconst short int yy_acclist[1267] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000318 { 0,
Lev Walkinef625402005-09-05 05:17:57 +0000319 135, 133, 134, 128, 133, 134, 128, 134, 131, 133,
320 134, 19, 133, 134, 131, 133, 134, 133, 134, 131,
321 133, 134, 133, 134, 131, 133, 134, 133, 134, 33,
322 133, 134, 32, 133, 134, 131, 133, 134, 133, 134,
323 120, 121, 133, 134, 120, 121, 133, 134, 120, 121,
324 133, 134, 120, 121, 133, 134, 120, 121, 133, 134,
325 120, 121, 133, 134, 120, 121, 133, 134, 120, 121,
326 133, 134, 120, 121, 133, 134, 120, 121, 133, 134,
327 120, 121, 133, 134, 120, 121, 133, 134, 120, 121,
328 133, 134, 120, 121, 133, 134, 120, 121, 133, 134,
Lev Walkinf15320b2004-06-03 03:38:44 +0000329
Lev Walkinef625402005-09-05 05:17:57 +0000330 120, 121, 133, 134, 120, 121, 133, 134, 120, 121,
331 133, 134, 120, 121, 133, 134, 119, 133, 134, 131,
332 133, 134, 9, 133, 134, 6, 134, 6, 133, 134,
333 8, 133, 134, 8, 133, 134, 11, 13, 133, 134,
334 11, 134, 13, 133, 134, 13, 133, 134, 13, 133,
335 134, 21, 133, 134, 21, 134, 22, 133, 134, 16,
336 133, 134, 16, 134, 18, 133, 134, 18, 133, 134,
337 14, 133, 134, 15, 133, 134, 25, 27, 133, 134,
338 27, 133, 134, 28, 134, 25, 26, 27, 133, 134,
339 25, 26, 27, 133, 134, 125, 133, 134, 126, 133,
Lev Walkinf15320b2004-06-03 03:38:44 +0000340
Lev Walkinef625402005-09-05 05:17:57 +0000341 134, 126, 134, 133, 134, 127, 133, 134, 128, 19,
342 19, 117, 118, 5, 31, 124, 10, 32, 120, 121,
343 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
344 121, 120, 121, 120, 121, 120, 121, 120, 121, 43,
345 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
346 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
347 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
348 120, 121, 120, 121, 120, 121, 120, 121, 121, 120,
349 121, 120, 121, 88, 120, 121, 120, 121, 121, 120,
350 121, 120, 121, 120, 121, 120, 121, 121, 120, 121,
Lev Walkinf15320b2004-06-03 03:38:44 +0000351
Lev Walkinef625402005-09-05 05:17:57 +0000352 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
353 120, 121, 120, 121, 120, 121, 121, 120, 121, 120,
354 121, 121, 121, 120, 121, 119, 9, 7, 7, 12,
355 21, 20, 16, 25, 25, 26, 25, 26, 125, 126,
356 132, 117, 118, 31, 123, 122, 120, 121, 121, 120,
357 121, 35, 120, 121, 36, 120, 121, 120, 121, 120,
358 121, 120, 121, 40, 120, 121, 120, 121, 120, 121,
359 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
360 120, 121, 120, 121, 120, 121, 57, 120, 121, 120,
361 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
Lev Walkinf15320b2004-06-03 03:38:44 +0000362
Lev Walkinef625402005-09-05 05:17:57 +0000363 121, 121, 121, 120, 121, 120, 121, 120, 121, 120,
364 121, 120, 121, 120, 121, 120, 121, 80, 120, 121,
365 81, 120, 121, 120, 121, 121, 120, 121, 120, 121,
366 120, 121, 121, 120, 121, 91, 120, 121, 120, 121,
367 120, 121, 120, 121, 121, 120, 121, 120, 121, 120,
368 121, 99, 120, 121, 120, 121, 120, 121, 120, 121,
369 120, 121, 120, 121, 120, 121, 120, 121, 121, 120,
370 121, 120, 121, 120, 121, 121, 121, 121, 120, 121,
371 119, 3, 17, 25, 26, 24, 25, 26, 117, 118,
372 30, 29, 2, 1, 120, 121, 120, 121, 120, 121,
Lev Walkinf15320b2004-06-03 03:38:44 +0000373
Lev Walkinef625402005-09-05 05:17:57 +0000374 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
375 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
376 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
377 120, 121, 120, 121, 120, 121, 120, 121, 65, 120,
378 121, 121, 121, 120, 121, 120, 121, 120, 121, 120,
379 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
380 121, 83, 120, 121, 121, 120, 121, 120, 121, 120,
381 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
382 121, 96, 120, 121, 120, 121, 120, 121, 100, 120,
383 121, 120, 121, 120, 121, 120, 121, 104, 120, 121,
Lev Walkinf15320b2004-06-03 03:38:44 +0000384
Lev Walkinef625402005-09-05 05:17:57 +0000385 106, 120, 121, 120, 121, 121, 120, 121, 120, 121,
386 120, 121, 120, 121, 120, 121, 121, 121, 121, 116,
387 120, 121, 3, 25, 26, 120, 121, 120, 121, 120,
388 121, 39, 120, 121, 121, 120, 121, 120, 121, 120,
389 121, 46, 120, 121, 120, 121, 120, 121, 120, 121,
390 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
391 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
392 64, 120, 121, 121, 121, 121, 120, 121, 120, 121,
393 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
394 120, 121, 120, 121, 120, 121, 121, 120, 121, 87,
Lev Walkind9574ae2005-03-24 16:22:35 +0000395
Lev Walkinef625402005-09-05 05:17:57 +0000396 120, 121, 120, 121, 121, 120, 121, 120, 121, 120,
397 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
398 121, 121, 108, 120, 121, 120, 121, 120, 121, 121,
399 120, 121, 121, 121, 121, 129, 25, 26, 34, 120,
400 121, 120, 121, 120, 121, 121, 120, 121, 120, 121,
401 45, 120, 121, 120, 121, 120, 121, 120, 121, 120,
402 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
403 121, 120, 121, 59, 120, 121, 120, 121, 120, 121,
404 120, 121, 120, 121, 121, 121, 121, 120, 121, 120,
405 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
Lev Walkind9574ae2005-03-24 16:22:35 +0000406
Lev Walkinef625402005-09-05 05:17:57 +0000407 121, 120, 121, 120, 121, 120, 121, 121, 85, 120,
408 121, 120, 121, 121, 120, 121, 120, 121, 120, 121,
409 120, 121, 121, 120, 121, 120, 121, 101, 120, 121,
410 102, 120, 121, 121, 120, 121, 121, 109, 120, 121,
411 120, 121, 121, 121, 121, 121, 121, 25, 26, 120,
412 121, 120, 121, 121, 42, 120, 121, 120, 121, 120,
413 121, 120, 121, 120, 121, 51, 120, 121, 52, 120,
414 121, 120, 121, 120, 121, 55, 120, 121, 120, 121,
415 120, 121, 120, 121, 61, 120, 121, 120, 121, 120,
416 121, 121, 121, 121, 120, 121, 120, 121, 72, 120,
Lev Walkind9574ae2005-03-24 16:22:35 +0000417
Lev Walkinef625402005-09-05 05:17:57 +0000418 121, 73, 120, 121, 120, 121, 120, 121, 120, 121,
419 77, 120, 121, 120, 121, 120, 121, 120, 121, 121,
420 120, 121, 121, 90, 120, 121, 120, 121, 93, 120,
421 121, 95, 120, 121, 121, 120, 121, 120, 121, 121,
422 120, 121, 121, 120, 121, 112, 121, 121, 121, 121,
423 121, 25, 26, 120, 121, 120, 121, 121, 120, 121,
424 120, 121, 120, 121, 120, 121, 120, 121, 54, 120,
425 121, 120, 121, 120, 121, 60, 120, 121, 120, 121,
426 63, 120, 121, 121, 121, 121, 121, 120, 121, 71,
427 120, 121, 74, 120, 121, 75, 120, 121, 120, 121,
Lev Walkind9574ae2005-03-24 16:22:35 +0000428
Lev Walkinef625402005-09-05 05:17:57 +0000429 120, 121, 121, 120, 121, 121, 89, 120, 121, 121,
430 120, 121, 121, 120, 121, 98, 120, 121, 121, 120,
431 121, 121, 120, 121, 121, 121, 121, 121, 25, 26,
432 120, 121, 38, 120, 121, 41, 121, 44, 120, 121,
433 47, 120, 121, 120, 121, 120, 121, 120, 121, 120,
434 121, 120, 121, 121, 121, 121, 69, 121, 120, 121,
435 120, 121, 120, 121, 121, 120, 121, 121, 121, 120,
436 121, 121, 103, 121, 120, 121, 121, 110, 120, 121,
437 121, 121, 121, 121, 130, 25, 120, 121, 48, 120,
438 121, 120, 121, 50, 120, 121, 120, 121, 120, 121,
Lev Walkind9574ae2005-03-24 16:22:35 +0000439
Lev Walkinef625402005-09-05 05:17:57 +0000440 58, 120, 121, 120, 121, 121, 121, 121, 70, 120,
441 121, 120, 121, 120, 121, 121, 120, 121, 121, 121,
442 120, 121, 121, 120, 121, 120, 121, 121, 113, 121,
443 121, 121, 121, 25, 37, 120, 121, 49, 120, 121,
444 53, 120, 121, 120, 121, 120, 121, 121, 121, 121,
445 120, 121, 120, 121, 121, 120, 121, 121, 121, 120,
446 121, 121, 120, 121, 120, 121, 121, 121, 121, 121,
447 25, 120, 121, 120, 121, 121, 121, 121, 76, 120,
448 121, 78, 120, 121, 79, 121, 120, 121, 121, 121,
449 120, 121, 121, 97, 120, 121, 120, 121, 121, 121,
Lev Walkind9574ae2005-03-24 16:22:35 +0000450
Lev Walkinef625402005-09-05 05:17:57 +0000451 121, 121, 25, 120, 121, 62, 120, 121, 67, 121,
452 121, 68, 121, 120, 121, 84, 121, 121, 92, 120,
453 121, 121, 120, 121, 105, 121, 121, 121, 115, 121,
454 25, 120, 121, 121, 82, 120, 121, 121, 121, 120,
455 121, 121, 114, 121, 25, 120, 121, 66, 121, 121,
456 94, 121, 107, 120, 121, 111, 121, 25, 56, 120,
457 121, 86, 121, 23, 25, 4
Lev Walkinf15320b2004-06-03 03:38:44 +0000458 } ;
459
Lev Walkinef625402005-09-05 05:17:57 +0000460static yyconst short int yy_accept[741] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000461 { 0,
462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000463 1, 1, 1, 1, 1, 1, 1, 2, 4, 7,
464 9, 12, 15, 18, 20, 23, 25, 28, 30, 33,
465 36, 39, 41, 45, 49, 53, 57, 61, 65, 69,
466 73, 77, 81, 85, 89, 93, 97, 101, 105, 109,
Lev Walkinef625402005-09-05 05:17:57 +0000467 113, 117, 120, 123, 126, 128, 131, 134, 137, 141,
468 143, 146, 149, 152, 155, 157, 160, 163, 165, 168,
469 171, 174, 177, 181, 184, 186, 191, 196, 199, 202,
470 204, 206, 209, 209, 210, 211, 212, 212, 213, 213,
471 214, 214, 214, 215, 216, 217, 218, 219, 219, 219,
Lev Walkinf15320b2004-06-03 03:38:44 +0000472
Lev Walkinef625402005-09-05 05:17:57 +0000473 221, 223, 225, 227, 229, 231, 232, 234, 236, 238,
474 240, 243, 245, 247, 249, 251, 253, 255, 257, 259,
475 261, 262, 263, 265, 267, 269, 271, 273, 275, 277,
476 279, 280, 282, 284, 287, 289, 290, 292, 294, 296,
477 298, 299, 301, 303, 305, 307, 309, 311, 313, 315,
478 317, 318, 320, 322, 323, 324, 326, 326, 327, 327,
479 327, 327, 328, 329, 330, 331, 332, 333, 334, 334,
480 335, 337, 339, 340, 341, 342, 342, 342, 343, 343,
481 344, 344, 344, 344, 344, 345, 346, 347, 349, 350,
482 352, 355, 358, 360, 362, 362, 364, 367, 369, 371,
Lev Walkinf15320b2004-06-03 03:38:44 +0000483
Lev Walkinef625402005-09-05 05:17:57 +0000484 373, 375, 377, 379, 381, 383, 385, 387, 390, 392,
485 394, 396, 398, 400, 402, 403, 404, 406, 408, 410,
486 412, 414, 416, 418, 421, 424, 426, 427, 429, 431,
487 433, 434, 436, 439, 441, 443, 445, 446, 448, 450,
488 452, 455, 457, 459, 461, 463, 465, 467, 469, 470,
489 472, 474, 476, 477, 478, 479, 481, 482, 482, 482,
490 483, 484, 486, 489, 489, 490, 491, 492, 493, 494,
491 495, 495, 495, 495, 497, 499, 501, 503, 505, 507,
492 509, 511, 513, 515, 517, 519, 521, 523, 525, 527,
493 529, 531, 533, 535, 537, 539, 542, 543, 544, 546,
Lev Walkinf15320b2004-06-03 03:38:44 +0000494
Lev Walkinef625402005-09-05 05:17:57 +0000495 548, 550, 552, 554, 556, 558, 560, 562, 565, 566,
496 568, 570, 572, 573, 575, 577, 579, 581, 582, 585,
497 587, 589, 592, 594, 596, 598, 601, 604, 606, 607,
498 609, 611, 613, 615, 617, 618, 619, 620, 623, 623,
499 623, 623, 623, 624, 626, 626, 628, 630, 632, 635,
500 636, 638, 640, 642, 645, 647, 649, 651, 653, 655,
501 657, 659, 661, 663, 665, 667, 669, 671, 674, 675,
502 676, 677, 679, 681, 683, 685, 687, 689, 691, 693,
503 695, 697, 698, 700, 703, 705, 706, 708, 708, 710,
504 712, 713, 715, 717, 719, 721, 722, 722, 723, 726,
Lev Walkinf15320b2004-06-03 03:38:44 +0000505
Lev Walkinef625402005-09-05 05:17:57 +0000506 728, 730, 731, 733, 734, 735, 736, 736, 736, 737,
507 739, 739, 742, 744, 746, 747, 749, 751, 754, 756,
508 758, 760, 762, 764, 766, 768, 770, 772, 774, 777,
509 779, 781, 783, 785, 786, 787, 788, 790, 792, 794,
510 796, 798, 800, 802, 804, 806, 808, 808, 809, 812,
511 814, 815, 817, 819, 821, 823, 824, 826, 828, 831,
512 834, 835, 837, 838, 841, 843, 844, 845, 846, 847,
513 848, 848, 848, 850, 850, 852, 854, 855, 858, 860,
514 862, 864, 866, 869, 872, 874, 876, 879, 881, 883,
515 885, 888, 890, 892, 893, 894, 895, 897, 899, 902,
Lev Walkinf15320b2004-06-03 03:38:44 +0000516
Lev Walkinef625402005-09-05 05:17:57 +0000517 905, 907, 909, 911, 914, 916, 918, 920, 921, 923,
518 924, 927, 929, 932, 935, 936, 938, 940, 941, 943,
519 944, 946, 948, 949, 950, 951, 952, 952, 954, 954,
520 956, 958, 959, 961, 963, 965, 967, 969, 972, 974,
521 976, 979, 981, 984, 985, 986, 987, 988, 990, 993,
522 996, 999, 1001, 1003, 1004, 1006, 1007, 1010, 1011, 1013,
523 1014, 1016, 1019, 1020, 1022, 1023, 1025, 1026, 1027, 1028,
524 1029, 1029, 1029, 1031, 1031, 1033, 1036, 1038, 1041, 1044,
525 1046, 1048, 1050, 1050, 1052, 1054, 1055, 1056, 1057, 1059,
526 1061, 1063, 1065, 1066, 1068, 1069, 1070, 1072, 1073, 1073,
Lev Walkinf15320b2004-06-03 03:38:44 +0000527
Lev Walkinef625402005-09-05 05:17:57 +0000528 1075, 1077, 1078, 1081, 1082, 1083, 1084, 1085, 1085, 1086,
529 1087, 1087, 1089, 1092, 1094, 1097, 1099, 1101, 1104, 1106,
530 1107, 1108, 1109, 1112, 1114, 1116, 1117, 1119, 1120, 1121,
531 1123, 1124, 1126, 1128, 1129, 1131, 1132, 1133, 1134, 1135,
532 1135, 1138, 1141, 1144, 1146, 1148, 1149, 1150, 1151, 1153,
533 1155, 1156, 1158, 1159, 1160, 1162, 1163, 1165, 1167, 1168,
534 1169, 1170, 1171, 1172, 1172, 1174, 1176, 1177, 1178, 1179,
535 1182, 1185, 1187, 1189, 1190, 1191, 1193, 1194, 1197, 1199,
536 1200, 1201, 1202, 1203, 1204, 1204, 1206, 1209, 1211, 1212,
537 1214, 1216, 1218, 1219, 1222, 1223, 1225, 1227, 1228, 1229,
Lev Walkin2535a692005-07-02 21:42:40 +0000538
Lev Walkinef625402005-09-05 05:17:57 +0000539 1231, 1232, 1232, 1234, 1235, 1238, 1239, 1240, 1242, 1243,
540 1245, 1246, 1246, 1248, 1250, 1251, 1253, 1256, 1258, 1259,
541 1259, 1262, 1264, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
542 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1267, 1267
Lev Walkinf15320b2004-06-03 03:38:44 +0000543 } ;
544
545static yyconst int yy_ec[256] =
546 { 0,
547 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
Lev Walkin2535a692005-07-02 21:42:40 +0000548 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000549 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000550 1, 2, 6, 7, 1, 1, 1, 8, 9, 10,
551 10, 11, 1, 12, 13, 14, 15, 16, 17, 18,
552 18, 19, 20, 21, 18, 22, 23, 24, 25, 26,
Lev Walkin4696c742005-08-22 12:23:54 +0000553 27, 28, 1, 10, 29, 30, 31, 32, 33, 34,
554 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
555 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
556 10, 1, 55, 56, 1, 1, 57, 58, 59, 60,
Lev Walkinf15320b2004-06-03 03:38:44 +0000557
Lev Walkin4696c742005-08-22 12:23:54 +0000558 61, 62, 63, 64, 65, 66, 62, 67, 68, 69,
559 70, 71, 62, 72, 73, 74, 75, 76, 62, 77,
560 62, 78, 79, 80, 81, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000561 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
562 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
568
569 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
570 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
573 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
574 1, 1, 1, 1, 1
575 } ;
576
Lev Walkin4696c742005-08-22 12:23:54 +0000577static yyconst int yy_meta[82] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000578 { 0,
Lev Walkinef625402005-09-05 05:17:57 +0000579 1, 2, 3, 4, 4, 1, 5, 6, 7, 1,
580 1, 1, 8, 1, 1, 9, 9, 9, 9, 9,
581 9, 9, 9, 10, 1, 1, 10, 1, 11, 11,
582 11, 11, 11, 11, 12, 12, 12, 12, 12, 12,
583 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
584 12, 12, 12, 12, 1, 1, 12, 12, 12, 12,
585 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
586 12, 12, 12, 12, 12, 12, 12, 12, 13, 1,
587 14
Lev Walkin2535a692005-07-02 21:42:40 +0000588 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000589
Lev Walkinef625402005-09-05 05:17:57 +0000590static yyconst short int yy_base[766] =
Lev Walkin2535a692005-07-02 21:42:40 +0000591 { 0,
Lev Walkinef625402005-09-05 05:17:57 +0000592 0, 0, 79, 82, 85, 96, 91, 93, 90, 100,
593 88, 102, 183, 264, 120, 133, 1560, 1547, 140, 148,
594 1545, 1543, 337, 156, 4376, 157, 1537, 102, 4376, 201,
595 1525, 4376, 403, 200, 263, 281, 206, 287, 452, 90,
596 308, 458, 185, 474, 496, 497, 514, 531, 534, 549,
597 557, 1527, 605, 0, 4376, 4376, 1526, 1525, 4376, 4376,
598 1521, 1521, 4376, 0, 0, 1523, 0, 0, 1505, 4376,
599 4376, 4376, 0, 4376, 4376, 628, 708, 0, 200, 278,
600 276, 4376, 1521, 356, 0, 1520, 1520, 1512, 91, 1497,
601 642, 1498, 101, 644, 1492, 4376, 652, 1477, 732, 646,
Lev Walkinf15320b2004-06-03 03:38:44 +0000602
Lev Walkinef625402005-09-05 05:17:57 +0000603 647, 662, 698, 663, 697, 1488, 713, 726, 729, 737,
604 781, 784, 802, 799, 815, 823, 838, 844, 841, 859,
605 187, 97, 874, 877, 885, 900, 911, 922, 928, 939,
606 158, 952, 955, 968, 976, 169, 979, 992, 1003, 1016,
607 219, 1032, 1038, 1049, 1055, 1066, 1077, 1083, 1094, 1100,
608 241, 1111, 1127, 239, 274, 1124, 0, 1476, 1175, 1187,
609 1199, 0, 4376, 1475, 4376, 0, 4376, 0, 1459, 0,
610 1440, 322, 0, 425, 4376, 1467, 0, 1465, 0, 1464,
611 110, 1440, 297, 119, 1165, 4376, 4376, 1210, 1462, 1194,
612 1195, 1210, 1211, 1259, 1456, 1267, 1270, 1283, 1291, 1299,
Lev Walkinf15320b2004-06-03 03:38:44 +0000613
Lev Walkinef625402005-09-05 05:17:57 +0000614 1307, 1320, 1328, 1331, 1352, 1353, 1368, 1374, 1385, 1391,
615 1402, 1408, 1419, 1430, 200, 215, 1443, 1451, 1454, 1469,
616 1472, 1475, 1501, 1493, 1504, 1517, 281, 1525, 1538, 1546,
617 302, 1549, 1562, 1570, 1578, 1586, 244, 1599, 1602, 1610,
618 1623, 1631, 1639, 1647, 1660, 1668, 1681, 1689, 445, 1697,
619 1713, 1714, 155, 470, 352, 1729, 1454, 1772, 1780, 1452,
620 4376, 113, 1422, 1407, 1445, 1443, 4376, 4376, 4376, 4376,
621 486, 293, 1408, 1774, 1775, 1790, 1796, 1807, 1813, 1829,
622 1830, 1845, 1853, 1861, 1877, 1874, 1885, 1898, 1901, 1916,
623 1922, 1933, 1939, 1950, 1965, 1971, 246, 232, 1982, 1988,
Lev Walkinf15320b2004-06-03 03:38:44 +0000624
Lev Walkinef625402005-09-05 05:17:57 +0000625 2003, 2004, 2019, 2025, 2040, 2043, 2051, 2064, 418, 2072,
626 2075, 2088, 105, 2096, 2109, 2117, 2125, 446, 2133, 2141,
627 2154, 2162, 2165, 2183, 2180, 2186, 2201, 2204, 496, 2207,
628 2222, 2225, 2233, 2246, 472, 322, 193, 2257, 2300, 2322,
629 2344, 2356, 1441, 309, 1411, 2340, 2355, 2371, 2368, 471,
630 2389, 2392, 2395, 2410, 2413, 2421, 2434, 2442, 2455, 2466,
631 2472, 2483, 2494, 2509, 2515, 2526, 2532, 2547, 498, 484,
632 497, 2548, 2568, 2565, 2586, 2585, 2601, 2607, 2618, 2631,
633 2642, 516, 2639, 2655, 2663, 521, 2671, 480, 2679, 2692,
634 502, 2705, 2708, 2716, 2729, 540, 535, 544, 2740, 2746,
Lev Walkinf15320b2004-06-03 03:38:44 +0000635
Lev Walkinef625402005-09-05 05:17:57 +0000636 2757, 522, 2768, 606, 537, 499, 677, 2811, 4376, 576,
637 1430, 2795, 2811, 2808, 552, 2819, 2832, 2835, 2852, 2858,
638 2869, 2875, 2890, 2896, 2913, 2919, 2930, 2936, 2947, 2953,
639 2964, 2970, 2986, 583, 572, 620, 2987, 3002, 3008, 3019,
640 3025, 3040, 3046, 3057, 3072, 3078, 687, 573, 3089, 3105,
641 296, 3102, 1401, 3113, 3126, 591, 3134, 3149, 3152, 3155,
642 684, 1407, 688, 3170, 3173, 587, 700, 712, 774, 799,
643 3221, 3233, 1395, 1405, 3217, 3230, 685, 3233, 3248, 3254,
644 3265, 3271, 3282, 3288, 3299, 3310, 3316, 3327, 3333, 3344,
645 3355, 3361, 3372, 769, 697, 748, 3378, 3389, 3400, 3406,
Lev Walkinf15320b2004-06-03 03:38:44 +0000646
Lev Walkinef625402005-09-05 05:17:57 +0000647 3417, 3423, 3438, 3439, 3454, 3460, 1388, 713, 3471, 805,
648 3477, 1394, 3488, 3499, 716, 3505, 3520, 807, 1389, 809,
649 3526, 1407, 771, 834, 802, 848, 3569, 863, 0, 3563,
650 3564, 837, 3579, 3587, 3590, 3603, 3611, 3619, 3627, 3640,
651 3648, 3656, 3664, 763, 860, 839, 849, 3677, 3685, 3688,
652 3701, 3709, 3712, 825, 1385, 883, 3725, 864, 1376, 845,
653 3746, 3733, 896, 1367, 915, 3749, 898, 909, 926, 919,
654 3797, 1035, 120, 1361, 3781, 3792, 1393, 3798, 3809, 3815,
655 3830, 3831, 490, 3846, 3847, 930, 923, 933, 1392, 3862,
656 3870, 3885, 922, 1366, 943, 932, 1358, 967, 313, 1386,
Lev Walkinf15320b2004-06-03 03:38:44 +0000657
Lev Walkinef625402005-09-05 05:17:57 +0000658 1343, 987, 3886, 948, 1016, 952, 994, 1243, 4376, 1359,
659 1327, 3901, 3902, 3917, 3918, 3933, 1344, 3934, 3949, 965,
660 1042, 1035, 3955, 3966, 3977, 962, 1343, 1044, 1056, 1337,
661 1031, 1329, 1328, 1057, 1350, 1037, 1075, 1064, 1316, 1286,
662 3983, 3994, 4000, 1313, 4011, 1051, 806, 1062, 4022, 4028,
663 950, 1317, 1077, 1124, 1305, 1157, 1320, 1302, 1132, 1161,
664 1137, 1143, 1286, 1250, 1272, 4043, 1099, 1177, 1150, 4044,
665 4059, 1285, 1247, 1201, 1187, 1241, 1250, 0, 1256, 1243,
666 1252, 1162, 1279, 1218, 1200, 1211, 4060, 1217, 589, 1215,
667 1106, 1139, 1152, 0, 1236, 1106, 1122, 1249, 1283, 1120,
Lev Walkinf15320b2004-06-03 03:38:44 +0000668
Lev Walkinef625402005-09-05 05:17:57 +0000669 1068, 1011, 1030, 1277, 0, 1022, 1313, 1025, 1321, 1054,
670 1011, 990, 946, 920, 1219, 907, 0, 739, 691, 661,
671 0, 686, 0, 556, 591, 543, 571, 518, 457, 450,
672 412, 357, 267, 296, 922, 150, 118, 4376, 4376, 4109,
673 4123, 4137, 4151, 4165, 4179, 4193, 4206, 4210, 4222, 4236,
674 4250, 4262, 4274, 4286, 4291, 4296, 4300, 4305, 4309, 4313,
675 4317, 4329, 4336, 4348, 4361
Lev Walkin2535a692005-07-02 21:42:40 +0000676 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000677
Lev Walkinef625402005-09-05 05:17:57 +0000678static yyconst short int yy_def[766] =
Lev Walkin2535a692005-07-02 21:42:40 +0000679 { 0,
Lev Walkinef625402005-09-05 05:17:57 +0000680 739, 1, 740, 740, 740, 740, 741, 741, 742, 742,
681 743, 743, 744, 744, 745, 745, 739, 739, 739, 739,
682 739, 746, 739, 747, 739, 739, 739, 739, 739, 739,
683 739, 739, 739, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin2535a692005-07-02 21:42:40 +0000684 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkinef625402005-09-05 05:17:57 +0000685 33, 748, 739, 749, 739, 739, 739, 739, 739, 739,
686 739, 739, 739, 750, 750, 739, 751, 751, 739, 739,
687 739, 739, 752, 739, 739, 753, 753, 754, 739, 739,
688 23, 739, 739, 739, 746, 746, 739, 755, 739, 756,
689 747, 747, 739, 739, 739, 739, 739, 739, 757, 33,
Lev Walkinf15320b2004-06-03 03:38:44 +0000690
Lev Walkinef625402005-09-05 05:17:57 +0000691 33, 33, 33, 33, 33, 758, 33, 33, 33, 33,
Lev Walkin4696c742005-08-22 12:23:54 +0000692 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkinef625402005-09-05 05:17:57 +0000693 758, 758, 33, 33, 33, 33, 33, 33, 33, 33,
694 758, 33, 33, 33, 33, 758, 33, 33, 33, 33,
695 758, 33, 33, 33, 33, 33, 33, 33, 33, 33,
696 758, 33, 33, 758, 758, 33, 759, 748, 739, 739,
697 739, 749, 739, 739, 739, 750, 739, 751, 739, 752,
698 77, 77, 754, 739, 739, 739, 760, 755, 761, 756,
699 739, 739, 762, 739, 739, 739, 739, 757, 763, 33,
700 33, 33, 33, 33, 763, 33, 33, 33, 33, 33,
Lev Walkinf15320b2004-06-03 03:38:44 +0000701
Lev Walkin2535a692005-07-02 21:42:40 +0000702 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkinef625402005-09-05 05:17:57 +0000703 33, 33, 33, 33, 758, 758, 33, 33, 33, 33,
704 33, 33, 33, 33, 33, 33, 758, 33, 33, 33,
705 758, 33, 33, 33, 33, 33, 758, 33, 33, 33,
706 33, 33, 33, 33, 33, 33, 33, 33, 758, 33,
707 33, 33, 758, 758, 758, 33, 759, 739, 739, 739,
708 739, 77, 77, 739, 760, 761, 739, 739, 739, 739,
709 762, 739, 739, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin2535a692005-07-02 21:42:40 +0000710 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkinef625402005-09-05 05:17:57 +0000711 33, 33, 33, 33, 33, 33, 758, 758, 33, 33,
712
713 33, 33, 33, 33, 33, 33, 33, 33, 758, 33,
714 33, 33, 758, 33, 33, 33, 33, 758, 33, 33,
715 33, 33, 33, 33, 33, 33, 33, 33, 758, 33,
716 33, 33, 33, 33, 758, 758, 758, 33, 739, 739,
717 739, 739, 739, 77, 739, 33, 33, 33, 33, 758,
Lev Walkin2535a692005-07-02 21:42:40 +0000718 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkinef625402005-09-05 05:17:57 +0000719 33, 33, 33, 33, 33, 33, 33, 33, 758, 758,
720 758, 33, 33, 33, 33, 33, 33, 33, 33, 33,
721 33, 758, 33, 33, 33, 758, 33, 188, 33, 33,
722 758, 33, 33, 33, 33, 758, 188, 758, 33, 33,
Lev Walkinf15320b2004-06-03 03:38:44 +0000723
Lev Walkinef625402005-09-05 05:17:57 +0000724 33, 758, 33, 758, 758, 758, 739, 739, 739, 77,
725 739, 33, 33, 33, 758, 33, 33, 33, 33, 33,
Lev Walkin2535a692005-07-02 21:42:40 +0000726 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkinef625402005-09-05 05:17:57 +0000727 33, 33, 33, 758, 758, 758, 33, 33, 33, 33,
728 33, 33, 33, 33, 33, 33, 188, 758, 33, 33,
729 758, 33, 188, 33, 33, 758, 33, 33, 33, 33,
730 758, 188, 758, 33, 33, 758, 758, 758, 758, 758,
731 739, 739, 77, 739, 33, 33, 758, 33, 33, 33,
Lev Walkin2535a692005-07-02 21:42:40 +0000732 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkinef625402005-09-05 05:17:57 +0000733 33, 33, 33, 758, 758, 758, 33, 33, 33, 33,
Lev Walkin4696c742005-08-22 12:23:54 +0000734
Lev Walkinef625402005-09-05 05:17:57 +0000735 33, 33, 33, 33, 33, 33, 188, 758, 33, 758,
736 33, 188, 33, 33, 758, 33, 33, 758, 188, 758,
737 33, 758, 758, 758, 758, 758, 739, 77, 764, 33,
738 33, 758, 33, 33, 33, 33, 33, 33, 33, 33,
739 33, 33, 33, 758, 758, 758, 758, 33, 33, 33,
740 33, 33, 33, 758, 188, 758, 33, 758, 188, 758,
741 33, 33, 758, 188, 758, 33, 758, 758, 758, 758,
742 739, 765, 77, 739, 33, 33, 758, 33, 33, 33,
743 33, 33, 188, 33, 33, 758, 758, 758, 758, 33,
744 33, 33, 758, 188, 758, 758, 188, 758, 188, 758,
Lev Walkinf15320b2004-06-03 03:38:44 +0000745
Lev Walkinef625402005-09-05 05:17:57 +0000746 188, 758, 33, 758, 758, 758, 758, 739, 739, 752,
747 739, 33, 33, 33, 33, 33, 188, 33, 33, 758,
748 758, 758, 33, 33, 33, 758, 188, 758, 758, 188,
749 758, 188, 188, 758, 758, 758, 758, 758, 752, 739,
750 33, 33, 33, 188, 33, 758, 758, 758, 33, 33,
751 758, 188, 758, 758, 188, 758, 188, 188, 758, 758,
752 758, 758, 752, 739, 188, 33, 758, 758, 758, 33,
753 33, 758, 188, 758, 758, 188, 758, 188, 188, 758,
754 758, 758, 758, 752, 739, 188, 33, 758, 758, 758,
755 188, 758, 758, 188, 758, 188, 758, 758, 758, 758,
Lev Walkinf15320b2004-06-03 03:38:44 +0000756
Lev Walkinef625402005-09-05 05:17:57 +0000757 752, 739, 188, 758, 188, 758, 758, 188, 758, 758,
758 752, 739, 188, 758, 758, 758, 188, 758, 752, 739,
759 188, 758, 752, 739, 739, 739, 739, 739, 739, 739,
760 739, 739, 739, 739, 739, 739, 739, 739, 0, 739,
761 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
762 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
763 739, 739, 739, 739, 739
Lev Walkin2535a692005-07-02 21:42:40 +0000764 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000765
Lev Walkinef625402005-09-05 05:17:57 +0000766static yyconst short int yy_nxt[4458] =
Lev Walkin2535a692005-07-02 21:42:40 +0000767 { 0,
768 18, 19, 20, 19, 19, 21, 22, 23, 24, 25,
769 18, 25, 26, 27, 28, 29, 30, 30, 30, 30,
Lev Walkin4696c742005-08-22 12:23:54 +0000770 30, 30, 30, 31, 21, 32, 32, 18, 33, 34,
771 35, 36, 37, 38, 39, 40, 41, 40, 40, 40,
772 42, 43, 44, 45, 40, 46, 47, 48, 49, 50,
773 51, 40, 40, 40, 21, 21, 52, 52, 52, 52,
Lev Walkin2535a692005-07-02 21:42:40 +0000774 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
Lev Walkin4696c742005-08-22 12:23:54 +0000775 52, 52, 52, 52, 52, 52, 52, 52, 53, 21,
776 25, 55, 56, 56, 55, 56, 56, 55, 56, 56,
Lev Walkinef625402005-09-05 05:17:57 +0000777 68, 57, 65, 60, 57, 60, 66, 58, 55, 56,
Lev Walkinf15320b2004-06-03 03:38:44 +0000778
Lev Walkinef625402005-09-05 05:17:57 +0000779 56, 61, 65, 61, 68, 62, 66, 62, 58, 195,
780 83, 69, 96, 183, 70, 87, 63, 195, 63, 100,
781 272, 79, 80, 79, 79, 69, 184, 81, 70, 100,
782 738, 100, 610, 100, 79, 80, 79, 79, 100, 267,
783 81, 84, 84, 84, 84, 268, 89, 273, 83, 84,
784 84, 84, 84, 216, 171, 344, 83, 91, 91, 91,
785 91, 171, 737, 386, 83, 83, 71, 195, 72, 93,
786 195, 91, 91, 94, 94, 94, 94, 94, 94, 94,
787 71, 195, 72, 73, 74, 75, 74, 74, 73, 73,
788 73, 73, 73, 73, 73, 73, 73, 73, 32, 195,
Lev Walkinf15320b2004-06-03 03:38:44 +0000789
Lev Walkinef625402005-09-05 05:17:57 +0000790 82, 174, 174, 174, 174, 195, 73, 73, 73, 73,
791 73, 32, 195, 82, 100, 77, 97, 97, 97, 97,
792 97, 97, 97, 97, 100, 227, 100, 195, 100, 100,
793 335, 195, 107, 130, 231, 100, 108, 73, 73, 100,
794 109, 100, 110, 100, 195, 100, 116, 117, 100, 100,
795 406, 195, 111, 195, 100, 215, 195, 118, 195, 131,
796 297, 74, 73, 74, 73, 74, 75, 74, 74, 73,
797 73, 73, 73, 73, 73, 73, 73, 73, 73, 174,
798 174, 174, 174, 237, 739, 298, 195, 73, 73, 73,
799 73, 73, 100, 195, 272, 370, 77, 735, 112, 270,
Lev Walkinf15320b2004-06-03 03:38:44 +0000800
Lev Walkinef625402005-09-05 05:17:57 +0000801 739, 270, 113, 253, 100, 114, 100, 249, 195, 271,
802 100, 100, 318, 115, 195, 119, 100, 369, 73, 73,
803 100, 273, 100, 736, 100, 739, 100, 510, 100, 100,
804 100, 739, 120, 254, 195, 100, 123, 100, 734, 124,
805 410, 309, 74, 73, 74, 83, 255, 100, 125, 126,
806 171, 100, 262, 263, 127, 632, 100, 84, 84, 84,
807 84, 87, 313, 171, 195, 88, 88, 88, 88, 88,
808 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
809 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
810 88, 405, 89, 90, 90, 90, 90, 90, 90, 90,
Lev Walkinf15320b2004-06-03 03:38:44 +0000811
Lev Walkinef625402005-09-05 05:17:57 +0000812 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
813 90, 90, 90, 90, 90, 99, 337, 733, 100, 100,
814 100, 100, 100, 100, 100, 100, 174, 174, 174, 174,
815 195, 100, 101, 100, 100, 100, 100, 100, 100, 100,
816 100, 100, 102, 100, 103, 100, 104, 100, 100, 100,
817 100, 105, 100, 100, 100, 100, 100, 195, 195, 106,
818 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
819 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
820 106, 100, 195, 195, 195, 732, 128, 100, 270, 382,
821 270, 100, 739, 100, 129, 100, 195, 100, 271, 100,
Lev Walkinf15320b2004-06-03 03:38:44 +0000822
Lev Walkinef625402005-09-05 05:17:57 +0000823 100, 100, 739, 132, 133, 329, 100, 134, 195, 195,
824 195, 195, 121, 100, 195, 100, 453, 135, 731, 391,
825 617, 730, 100, 122, 137, 100, 100, 138, 195, 142,
826 336, 136, 404, 195, 195, 139, 100, 100, 100, 100,
827 100, 140, 415, 100, 100, 100, 143, 739, 435, 195,
828 144, 147, 195, 100, 434, 100, 195, 100, 456, 148,
829 100, 145, 100, 100, 195, 470, 146, 141, 436, 398,
830 100, 462, 100, 100, 100, 152, 149, 100, 100, 100,
831 448, 153, 100, 150, 195, 195, 100, 729, 100, 466,
832 100, 151, 100, 156, 451, 195, 100, 100, 100, 195,
Lev Walkinf15320b2004-06-03 03:38:44 +0000833
Lev Walkinef625402005-09-05 05:17:57 +0000834 100, 195, 154, 195, 463, 100, 159, 159, 159, 159,
835 469, 461, 473, 155, 728, 727, 477, 171, 195, 726,
836 160, 160, 160, 160, 160, 160, 161, 161, 170, 725,
837 495, 508, 195, 170, 170, 170, 170, 170, 170, 170,
838 170, 170, 170, 91, 91, 91, 91, 522, 515, 494,
839 181, 170, 170, 170, 170, 170, 704, 91, 91, 185,
840 185, 185, 185, 185, 185, 185, 185, 97, 97, 97,
841 97, 97, 97, 97, 97, 100, 100, 468, 407, 407,
842 407, 407, 170, 170, 496, 100, 100, 100, 100, 100,
843 100, 100, 100, 190, 100, 100, 195, 195, 195, 739,
Lev Walkinf15320b2004-06-03 03:38:44 +0000844
Lev Walkinef625402005-09-05 05:17:57 +0000845 195, 191, 100, 100, 100, 100, 193, 170, 170, 195,
846 100, 100, 195, 170, 170, 170, 170, 170, 170, 170,
847 170, 170, 170, 507, 195, 195, 100, 100, 195, 724,
848 723, 170, 170, 170, 170, 170, 100, 100, 100, 100,
849 100, 100, 100, 546, 194, 100, 100, 196, 518, 172,
850 192, 195, 100, 532, 100, 100, 100, 409, 100, 556,
851 195, 100, 170, 170, 520, 100, 100, 100, 100, 100,
852 100, 523, 198, 197, 100, 195, 100, 100, 100, 199,
853 100, 195, 560, 195, 524, 100, 195, 170, 189, 189,
854 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
Lev Walkinf15320b2004-06-03 03:38:44 +0000855
Lev Walkinef625402005-09-05 05:17:57 +0000856 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
857 100, 195, 200, 100, 195, 544, 547, 195, 195, 195,
858 100, 195, 100, 100, 100, 100, 201, 100, 100, 100,
859 202, 100, 100, 545, 525, 567, 586, 195, 100, 203,
860 204, 100, 100, 100, 100, 100, 195, 100, 205, 195,
861 100, 195, 206, 668, 100, 565, 100, 195, 100, 526,
862 195, 195, 100, 100, 100, 558, 100, 100, 207, 208,
863 100, 100, 195, 100, 210, 563, 195, 100, 569, 100,
864 213, 100, 100, 100, 100, 100, 209, 211, 100, 100,
865 568, 212, 100, 217, 570, 195, 593, 573, 100, 577,
Lev Walkinf15320b2004-06-03 03:38:44 +0000866
Lev Walkinef625402005-09-05 05:17:57 +0000867 100, 214, 100, 100, 171, 598, 100, 100, 195, 218,
868 195, 589, 588, 100, 100, 100, 100, 100, 100, 195,
869 100, 195, 100, 735, 100, 100, 100, 195, 219, 100,
870 220, 195, 195, 100, 195, 195, 596, 587, 195, 100,
871 100, 100, 195, 100, 195, 195, 221, 222, 100, 736,
872 100, 100, 100, 223, 100, 195, 595, 100, 600, 100,
873 195, 100, 195, 100, 195, 100, 604, 100, 100, 225,
874 100, 100, 606, 224, 195, 605, 100, 195, 226, 195,
875 100, 100, 100, 621, 100, 721, 626, 100, 602, 228,
876 629, 100, 607, 100, 100, 100, 100, 100, 100, 195,
Lev Walkinf15320b2004-06-03 03:38:44 +0000877
Lev Walkinef625402005-09-05 05:17:57 +0000878 100, 620, 229, 100, 622, 100, 195, 100, 100, 100,
879 635, 100, 672, 631, 628, 100, 100, 100, 100, 100,
880 100, 100, 100, 230, 100, 637, 232, 100, 195, 646,
881 651, 100, 100, 100, 195, 100, 608, 608, 608, 608,
882 100, 233, 100, 195, 100, 100, 100, 195, 235, 195,
883 720, 234, 236, 719, 195, 100, 195, 100, 634, 100,
884 238, 100, 636, 195, 100, 638, 195, 100, 195, 195,
885 717, 239, 713, 100, 195, 100, 195, 100, 100, 100,
886 100, 100, 240, 712, 100, 241, 100, 195, 100, 195,
887 100, 715, 100, 245, 100, 100, 100, 100, 100, 648,
Lev Walkinf15320b2004-06-03 03:38:44 +0000888
Lev Walkinef625402005-09-05 05:17:57 +0000889 243, 647, 242, 100, 656, 100, 100, 244, 653, 100,
890 660, 195, 100, 711, 100, 609, 100, 246, 100, 667,
891 100, 659, 100, 100, 100, 100, 100, 654, 662, 100,
892 669, 100, 195, 100, 195, 100, 195, 100, 708, 100,
893 100, 100, 247, 248, 195, 674, 661, 250, 100, 195,
894 100, 195, 100, 100, 100, 195, 100, 251, 705, 100,
895 252, 688, 195, 100, 195, 100, 100, 100, 100, 195,
896 100, 256, 100, 195, 195, 100, 159, 159, 159, 159,
897 185, 185, 185, 185, 185, 185, 185, 185, 675, 195,
898 160, 160, 160, 160, 160, 160, 161, 161, 258, 195,
Lev Walkinf15320b2004-06-03 03:38:44 +0000899
Lev Walkinef625402005-09-05 05:17:57 +0000900 680, 682, 161, 161, 161, 161, 161, 161, 161, 161,
901 259, 683, 690, 195, 161, 161, 161, 161, 161, 161,
902 161, 161, 99, 100, 100, 706, 274, 195, 677, 195,
903 699, 195, 681, 100, 100, 100, 100, 100, 100, 100,
904 100, 689, 100, 100, 608, 608, 608, 608, 195, 100,
905 275, 100, 100, 100, 100, 195, 703, 693, 100, 100,
906 702, 195, 195, 692, 195, 701, 189, 189, 189, 189,
907 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
908 189, 189, 189, 189, 189, 189, 189, 189, 100, 195,
909 722, 195, 696, 694, 691, 195, 100, 195, 100, 100,
Lev Walkinf15320b2004-06-03 03:38:44 +0000910
Lev Walkinef625402005-09-05 05:17:57 +0000911 100, 276, 100, 277, 707, 697, 100, 100, 100, 100,
912 100, 100, 100, 100, 695, 100, 698, 709, 100, 686,
913 100, 685, 100, 609, 100, 195, 100, 684, 100, 278,
914 279, 100, 100, 195, 100, 679, 100, 714, 100, 100,
915 100, 700, 100, 281, 280, 710, 100, 100, 100, 100,
916 100, 678, 676, 673, 665, 100, 664, 100, 663, 100,
917 100, 100, 195, 100, 658, 657, 282, 100, 100, 100,
918 100, 283, 100, 655, 100, 716, 100, 284, 285, 100,
919 286, 100, 100, 718, 652, 288, 644, 640, 287, 639,
920 633, 100, 100, 100, 100, 100, 100, 100, 195, 630,
Lev Walkinf15320b2004-06-03 03:38:44 +0000921
Lev Walkinef625402005-09-05 05:17:57 +0000922 100, 100, 627, 100, 195, 195, 611, 100, 601, 100,
923 289, 100, 597, 100, 100, 100, 100, 100, 594, 195,
924 100, 564, 100, 291, 100, 290, 100, 559, 100, 555,
925 100, 100, 100, 100, 100, 529, 528, 100, 519, 100,
926 294, 292, 512, 100, 293, 100, 474, 100, 100, 100,
927 100, 100, 411, 343, 345, 179, 100, 177, 100, 100,
928 100, 175, 100, 171, 343, 295, 157, 100, 739, 100,
929 296, 100, 100, 100, 195, 268, 179, 177, 100, 264,
930 100, 171, 100, 100, 100, 261, 100, 260, 157, 299,
931 100, 100, 300, 301, 100, 100, 302, 100, 100, 100,
Lev Walkinf15320b2004-06-03 03:38:44 +0000932
Lev Walkinef625402005-09-05 05:17:57 +0000933 195, 100, 100, 187, 100, 186, 182, 305, 303, 179,
934 100, 100, 100, 100, 100, 100, 100, 100, 100, 304,
935 100, 306, 100, 100, 177, 176, 175, 175, 169, 167,
936 100, 96, 100, 100, 100, 165, 100, 164, 163, 157,
937 100, 100, 100, 100, 100, 100, 100, 100, 98, 100,
938 95, 86, 307, 83, 100, 83, 308, 310, 100, 739,
939 100, 739, 739, 739, 100, 100, 100, 100, 100, 739,
940 311, 739, 739, 100, 739, 100, 739, 100, 100, 100,
941 739, 100, 312, 739, 739, 100, 100, 100, 100, 100,
942 100, 100, 100, 739, 100, 739, 314, 100, 739, 100,
Lev Walkinf15320b2004-06-03 03:38:44 +0000943
Lev Walkinef625402005-09-05 05:17:57 +0000944 739, 100, 739, 100, 739, 100, 739, 100, 739, 100,
945 100, 100, 739, 100, 739, 100, 315, 100, 100, 100,
946 739, 100, 739, 739, 316, 100, 100, 100, 100, 100,
947 320, 100, 739, 739, 100, 317, 739, 739, 319, 100,
948 100, 100, 100, 100, 739, 100, 739, 100, 739, 100,
949 100, 100, 100, 100, 739, 739, 739, 739, 321, 739,
950 100, 739, 100, 322, 100, 739, 100, 739, 100, 739,
951 100, 100, 100, 739, 100, 323, 100, 739, 100, 100,
952 100, 739, 100, 739, 739, 739, 100, 100, 100, 100,
953 100, 739, 739, 739, 324, 100, 739, 100, 739, 100,
Lev Walkinf15320b2004-06-03 03:38:44 +0000954
Lev Walkinef625402005-09-05 05:17:57 +0000955 739, 100, 739, 100, 739, 739, 325, 100, 100, 100,
956 100, 100, 739, 327, 326, 739, 100, 739, 100, 739,
957 100, 328, 100, 739, 100, 739, 100, 739, 100, 100,
958 100, 739, 100, 739, 739, 334, 100, 100, 100, 330,
959 100, 331, 100, 100, 739, 100, 332, 739, 739, 739,
960 739, 739, 100, 100, 100, 100, 100, 100, 100, 739,
961 333, 100, 100, 739, 338, 739, 739, 739, 100, 739,
962 100, 739, 100, 339, 339, 339, 339, 100, 739, 739,
963 739, 341, 341, 341, 341, 739, 739, 340, 340, 340,
964 340, 340, 340, 340, 340, 342, 342, 342, 342, 342,
Lev Walkinf15320b2004-06-03 03:38:44 +0000965
Lev Walkinef625402005-09-05 05:17:57 +0000966 342, 342, 342, 100, 100, 739, 739, 739, 739, 739,
967 739, 347, 739, 100, 100, 346, 100, 100, 100, 100,
968 739, 739, 100, 100, 739, 100, 739, 739, 739, 100,
969 348, 100, 739, 100, 739, 100, 100, 349, 100, 100,
970 739, 739, 100, 739, 100, 351, 100, 739, 100, 739,
971 100, 739, 100, 739, 100, 100, 100, 352, 100, 100,
972 353, 100, 739, 739, 739, 739, 739, 739, 100, 100,
973 100, 100, 100, 100, 100, 739, 739, 100, 100, 739,
974 350, 739, 100, 739, 100, 739, 100, 739, 100, 739,
975 100, 354, 100, 100, 100, 355, 100, 739, 739, 739,
Lev Walkinf15320b2004-06-03 03:38:44 +0000976
Lev Walkinef625402005-09-05 05:17:57 +0000977 100, 100, 100, 100, 100, 357, 100, 739, 356, 100,
978 739, 739, 739, 100, 100, 100, 100, 100, 100, 739,
979 100, 739, 358, 739, 100, 100, 359, 100, 100, 360,
980 100, 739, 361, 100, 739, 739, 739, 100, 739, 100,
981 100, 100, 100, 739, 100, 100, 100, 739, 362, 100,
982 739, 100, 739, 739, 739, 100, 739, 100, 739, 100,
983 739, 100, 100, 100, 100, 363, 739, 739, 100, 364,
984 100, 739, 100, 739, 100, 739, 100, 739, 100, 100,
985 100, 100, 100, 739, 365, 739, 739, 100, 739, 100,
986 739, 366, 739, 100, 100, 367, 739, 368, 100, 739,
Lev Walkinf15320b2004-06-03 03:38:44 +0000987
Lev Walkinef625402005-09-05 05:17:57 +0000988 100, 739, 739, 739, 100, 739, 100, 739, 100, 739,
989 100, 100, 100, 100, 100, 739, 739, 100, 739, 100,
990 739, 100, 739, 100, 739, 100, 739, 100, 739, 100,
991 100, 100, 100, 100, 739, 372, 100, 739, 739, 373,
992 739, 739, 100, 100, 100, 100, 100, 100, 100, 374,
993 739, 100, 100, 376, 100, 371, 739, 739, 100, 739,
994 100, 380, 100, 739, 100, 739, 100, 375, 100, 100,
995 377, 739, 100, 100, 378, 739, 739, 739, 739, 100,
996 100, 100, 100, 100, 100, 379, 100, 739, 100, 739,
997 100, 100, 100, 100, 100, 739, 739, 381, 739, 100,
Lev Walkinf15320b2004-06-03 03:38:44 +0000998
Lev Walkinef625402005-09-05 05:17:57 +0000999 739, 100, 383, 100, 100, 100, 739, 100, 739, 739,
1000 739, 100, 100, 100, 100, 100, 100, 100, 100, 739,
1001 100, 388, 384, 100, 739, 100, 739, 100, 387, 100,
1002 385, 100, 739, 739, 739, 100, 100, 100, 100, 100,
1003 739, 739, 739, 739, 100, 739, 100, 739, 100, 389,
1004 100, 739, 100, 390, 100, 739, 100, 100, 100, 739,
1005 100, 739, 100, 739, 100, 100, 100, 739, 100, 739,
1006 100, 739, 100, 100, 100, 739, 100, 739, 739, 739,
1007 100, 100, 100, 100, 100, 739, 393, 739, 392, 100,
1008 739, 100, 739, 100, 100, 100, 739, 100, 739, 739,
Lev Walkinf15320b2004-06-03 03:38:44 +00001009
Lev Walkinef625402005-09-05 05:17:57 +00001010 739, 100, 100, 100, 100, 100, 394, 739, 100, 100,
1011 100, 395, 100, 100, 739, 100, 397, 739, 739, 100,
1012 739, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1013 100, 100, 739, 100, 100, 739, 100, 739, 739, 739,
1014 100, 739, 100, 100, 100, 100, 100, 100, 399, 100,
1015 100, 100, 100, 396, 100, 100, 739, 401, 739, 739,
1016 739, 100, 100, 100, 100, 100, 100, 739, 100, 739,
1017 400, 739, 100, 100, 100, 100, 100, 739, 739, 739,
1018 739, 100, 739, 739, 739, 100, 100, 100, 739, 100,
1019 739, 739, 403, 739, 100, 739, 100, 402, 100, 739,
Lev Walkinf15320b2004-06-03 03:38:44 +00001020
Lev Walkinef625402005-09-05 05:17:57 +00001021 100, 339, 339, 339, 339, 100, 739, 739, 739, 739,
1022 739, 739, 739, 739, 739, 340, 340, 340, 340, 340,
1023 340, 340, 340, 407, 407, 407, 407, 739, 739, 739,
1024 739, 739, 739, 408, 739, 739, 739, 340, 340, 340,
1025 340, 340, 340, 340, 340, 341, 341, 341, 341, 739,
1026 739, 739, 739, 739, 739, 739, 739, 739, 739, 342,
1027 342, 342, 342, 342, 342, 342, 342, 408, 739, 100,
1028 739, 342, 342, 342, 342, 342, 342, 342, 342, 100,
1029 739, 100, 739, 100, 100, 413, 739, 412, 100, 739,
1030 739, 739, 739, 739, 100, 739, 100, 100, 100, 414,
Lev Walkinf15320b2004-06-03 03:38:44 +00001031
Lev Walkinef625402005-09-05 05:17:57 +00001032 100, 739, 409, 100, 739, 739, 739, 100, 739, 100,
1033 100, 100, 100, 739, 100, 739, 100, 416, 100, 100,
1034 739, 100, 417, 739, 100, 739, 739, 418, 100, 739,
1035 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1036 100, 739, 100, 100, 739, 739, 739, 739, 739, 100,
1037 100, 100, 100, 100, 419, 739, 100, 739, 100, 739,
1038 100, 100, 100, 100, 100, 739, 420, 739, 739, 100,
1039 421, 100, 739, 100, 739, 100, 739, 100, 739, 739,
1040 739, 422, 100, 100, 100, 100, 739, 423, 739, 739,
1041 100, 424, 739, 739, 100, 100, 100, 425, 100, 739,
Lev Walkinf59d0752004-08-18 04:59:12 +00001042
Lev Walkinef625402005-09-05 05:17:57 +00001043 739, 100, 739, 100, 426, 100, 739, 100, 427, 100,
1044 739, 100, 100, 100, 100, 100, 739, 739, 739, 739,
1045 100, 739, 100, 100, 100, 739, 100, 739, 428, 739,
1046 739, 100, 739, 100, 739, 100, 739, 100, 100, 430,
1047 739, 429, 100, 739, 100, 739, 739, 739, 100, 739,
1048 100, 739, 100, 739, 100, 100, 100, 100, 100, 739,
1049 739, 100, 431, 100, 739, 100, 739, 100, 739, 100,
1050 739, 100, 432, 433, 100, 100, 100, 100, 739, 739,
1051 100, 739, 739, 739, 437, 739, 100, 100, 100, 100,
1052 100, 100, 739, 739, 100, 100, 100, 100, 438, 739,
Lev Walkind9574ae2005-03-24 16:22:35 +00001053
Lev Walkinef625402005-09-05 05:17:57 +00001054 439, 739, 739, 739, 100, 739, 100, 100, 100, 100,
1055 739, 100, 440, 100, 100, 100, 100, 441, 739, 739,
1056 739, 739, 739, 739, 100, 100, 442, 100, 100, 100,
1057 100, 739, 739, 100, 100, 739, 100, 739, 739, 444,
1058 100, 739, 100, 739, 100, 739, 100, 100, 100, 443,
1059 100, 446, 739, 739, 447, 100, 739, 100, 739, 100,
1060 100, 100, 739, 739, 445, 739, 100, 739, 100, 739,
1061 100, 100, 100, 739, 100, 739, 739, 739, 100, 100,
1062 100, 100, 100, 100, 100, 100, 449, 100, 739, 739,
1063 100, 739, 100, 739, 100, 739, 100, 739, 100, 739,
Lev Walkind9574ae2005-03-24 16:22:35 +00001064
Lev Walkinef625402005-09-05 05:17:57 +00001065 100, 739, 100, 100, 450, 739, 100, 739, 100, 739,
1066 100, 100, 100, 739, 100, 739, 452, 739, 100, 100,
1067 454, 100, 100, 739, 739, 739, 739, 100, 739, 739,
1068 739, 100, 739, 100, 100, 100, 739, 100, 739, 455,
1069 100, 457, 739, 739, 100, 100, 100, 100, 100, 458,
1070 459, 100, 739, 100, 739, 100, 100, 100, 100, 100,
1071 739, 739, 739, 739, 100, 739, 739, 739, 100, 100,
1072 100, 739, 100, 739, 739, 100, 739, 100, 464, 100,
1073 460, 100, 739, 100, 739, 100, 100, 100, 100, 100,
1074 739, 739, 739, 739, 100, 739, 100, 100, 100, 739,
Lev Walkind9574ae2005-03-24 16:22:35 +00001075
Lev Walkinef625402005-09-05 05:17:57 +00001076 100, 739, 465, 739, 739, 100, 739, 100, 739, 100,
1077 739, 100, 471, 471, 471, 471, 100, 739, 739, 739,
1078 739, 739, 739, 739, 100, 739, 472, 472, 472, 472,
1079 472, 472, 472, 472, 100, 739, 100, 100, 100, 475,
1080 100, 467, 739, 100, 739, 739, 739, 100, 100, 100,
1081 100, 100, 100, 739, 100, 476, 100, 739, 100, 100,
1082 478, 100, 100, 739, 100, 739, 739, 100, 739, 739,
1083 739, 100, 739, 100, 100, 100, 100, 739, 100, 479,
1084 100, 100, 739, 100, 480, 739, 481, 100, 739, 739,
1085 739, 100, 739, 100, 739, 100, 739, 100, 100, 100,
Lev Walkin2535a692005-07-02 21:42:40 +00001086
Lev Walkinef625402005-09-05 05:17:57 +00001087 100, 100, 739, 739, 100, 739, 100, 739, 100, 739,
1088 482, 739, 100, 739, 100, 739, 100, 100, 100, 100,
1089 739, 484, 483, 100, 739, 100, 739, 739, 739, 100,
1090 739, 100, 739, 100, 739, 100, 739, 100, 100, 100,
1091 739, 739, 100, 485, 100, 486, 739, 739, 100, 739,
1092 487, 739, 100, 739, 100, 739, 100, 739, 100, 100,
1093 100, 100, 100, 739, 489, 100, 739, 100, 739, 100,
1094 739, 488, 739, 100, 739, 100, 100, 100, 100, 100,
1095 739, 739, 100, 739, 100, 739, 100, 739, 100, 490,
1096 100, 739, 100, 100, 100, 100, 100, 739, 739, 100,
Lev Walkin2535a692005-07-02 21:42:40 +00001097
Lev Walkinef625402005-09-05 05:17:57 +00001098 739, 100, 739, 100, 739, 100, 492, 100, 739, 100,
1099 491, 100, 100, 100, 493, 100, 100, 739, 100, 739,
1100 497, 739, 739, 739, 739, 100, 100, 100, 100, 100,
1101 100, 100, 739, 739, 100, 100, 739, 100, 498, 499,
1102 739, 100, 739, 100, 739, 100, 739, 100, 100, 100,
1103 100, 100, 739, 739, 100, 739, 100, 501, 100, 739,
1104 100, 739, 100, 739, 100, 500, 100, 100, 100, 100,
1105 502, 739, 739, 100, 739, 100, 503, 739, 739, 100,
1106 739, 100, 739, 100, 739, 100, 100, 100, 100, 100,
1107 739, 739, 739, 739, 100, 739, 100, 739, 100, 739,
Lev Walkin2535a692005-07-02 21:42:40 +00001108
Lev Walkinef625402005-09-05 05:17:57 +00001109 100, 100, 504, 739, 505, 100, 739, 100, 739, 739,
1110 739, 100, 739, 100, 739, 100, 739, 100, 100, 100,
1111 100, 100, 739, 739, 506, 739, 100, 739, 100, 739,
1112 100, 100, 100, 509, 100, 739, 739, 100, 739, 739,
1113 739, 100, 100, 511, 100, 100, 100, 739, 100, 739,
1114 100, 739, 100, 100, 100, 100, 100, 739, 514, 739,
1115 513, 100, 739, 100, 739, 100, 739, 100, 739, 100,
1116 739, 739, 739, 100, 100, 100, 739, 100, 100, 517,
1117 739, 100, 100, 516, 100, 739, 739, 739, 100, 739,
1118 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
Lev Walkin2535a692005-07-02 21:42:40 +00001119
Lev Walkinef625402005-09-05 05:17:57 +00001120 100, 739, 100, 100, 739, 739, 739, 739, 739, 100,
1121 739, 100, 100, 100, 100, 739, 100, 739, 100, 521,
1122 739, 100, 471, 471, 471, 471, 739, 739, 739, 739,
1123 739, 739, 739, 739, 739, 739, 472, 472, 472, 472,
1124 472, 472, 472, 472, 527, 739, 100, 739, 472, 472,
1125 472, 472, 472, 472, 472, 472, 100, 739, 100, 100,
1126 100, 739, 100, 739, 530, 100, 531, 739, 739, 100,
1127 739, 100, 100, 100, 100, 739, 100, 100, 100, 739,
1128 533, 100, 739, 100, 739, 739, 739, 100, 739, 100,
1129 739, 100, 739, 100, 100, 534, 100, 100, 739, 739,
Lev Walkin2535a692005-07-02 21:42:40 +00001130
Lev Walkinef625402005-09-05 05:17:57 +00001131 100, 535, 100, 739, 100, 739, 100, 536, 100, 739,
1132 100, 100, 100, 100, 100, 739, 739, 100, 739, 100,
1133 739, 100, 739, 100, 739, 100, 739, 100, 100, 100,
1134 100, 100, 739, 739, 739, 537, 100, 739, 100, 100,
1135 100, 538, 100, 739, 739, 100, 739, 100, 739, 100,
1136 739, 100, 739, 100, 739, 100, 100, 100, 100, 100,
1137 739, 539, 100, 739, 100, 739, 100, 739, 100, 739,
1138 100, 739, 100, 100, 100, 100, 100, 739, 739, 739,
1139 540, 100, 739, 100, 100, 100, 739, 100, 739, 739,
1140 542, 541, 100, 739, 100, 739, 100, 739, 100, 739,
Lev Walkin2535a692005-07-02 21:42:40 +00001141
Lev Walkinef625402005-09-05 05:17:57 +00001142 100, 100, 100, 100, 100, 739, 739, 100, 739, 100,
1143 739, 543, 739, 100, 548, 100, 739, 100, 100, 100,
1144 100, 100, 739, 739, 739, 739, 100, 739, 100, 100,
1145 100, 739, 100, 739, 739, 100, 549, 100, 739, 100,
1146 739, 100, 739, 100, 739, 100, 100, 100, 100, 100,
1147 739, 739, 100, 739, 100, 551, 100, 739, 100, 739,
1148 100, 739, 100, 550, 100, 100, 100, 100, 100, 739,
1149 739, 100, 739, 739, 739, 739, 739, 100, 100, 100,
1150 100, 100, 100, 100, 553, 552, 100, 100, 739, 100,
1151 739, 739, 739, 100, 739, 100, 739, 100, 739, 100,
Lev Walkin2535a692005-07-02 21:42:40 +00001152
Lev Walkinef625402005-09-05 05:17:57 +00001153 100, 100, 100, 100, 739, 739, 100, 739, 100, 739,
1154 557, 739, 100, 739, 100, 739, 100, 100, 100, 100,
1155 100, 739, 739, 739, 739, 100, 739, 100, 100, 100,
1156 739, 100, 739, 554, 100, 739, 100, 561, 100, 739,
1157 100, 739, 100, 739, 100, 739, 100, 100, 100, 100,
1158 739, 739, 562, 100, 566, 100, 739, 739, 739, 100,
1159 739, 100, 739, 100, 739, 100, 739, 100, 100, 100,
1160 571, 571, 571, 571, 100, 739, 739, 739, 739, 739,
1161 739, 739, 739, 739, 572, 572, 572, 572, 572, 572,
1162 572, 572, 100, 100, 576, 739, 739, 739, 739, 575,
Lev Walkin2535a692005-07-02 21:42:40 +00001163
Lev Walkinef625402005-09-05 05:17:57 +00001164 739, 739, 100, 100, 100, 100, 100, 100, 100, 739,
1165 739, 100, 100, 739, 739, 739, 100, 739, 100, 100,
1166 100, 739, 100, 739, 578, 739, 100, 100, 100, 100,
1167 100, 580, 100, 100, 579, 100, 739, 739, 100, 583,
1168 100, 739, 100, 739, 581, 739, 100, 739, 100, 739,
1169 100, 100, 100, 582, 100, 739, 100, 739, 100, 100,
1170 100, 739, 100, 739, 739, 739, 100, 100, 100, 100,
1171 100, 739, 584, 739, 739, 100, 739, 100, 739, 100,
1172 739, 100, 739, 100, 739, 100, 739, 100, 100, 100,
1173 739, 100, 585, 100, 739, 100, 100, 100, 739, 100,
Lev Walkin2535a692005-07-02 21:42:40 +00001174
Lev Walkinef625402005-09-05 05:17:57 +00001175 739, 739, 739, 100, 100, 100, 100, 100, 739, 590,
1176 739, 739, 100, 739, 100, 739, 100, 100, 100, 739,
1177 100, 739, 739, 739, 100, 100, 100, 100, 100, 100,
1178 100, 100, 739, 100, 739, 739, 100, 739, 100, 739,
1179 100, 100, 100, 739, 100, 591, 739, 739, 100, 100,
1180 100, 100, 100, 100, 100, 100, 739, 100, 599, 592,
1181 100, 739, 100, 739, 100, 739, 100, 739, 100, 739,
1182 739, 739, 100, 100, 100, 100, 100, 739, 100, 739,
1183 739, 100, 739, 739, 739, 100, 739, 100, 603, 100,
1184 100, 739, 100, 739, 100, 739, 739, 100, 571, 571,
Lev Walkin2535a692005-07-02 21:42:40 +00001185
Lev Walkinef625402005-09-05 05:17:57 +00001186 571, 571, 739, 739, 739, 739, 739, 739, 739, 739,
1187 100, 739, 572, 572, 572, 572, 572, 572, 572, 572,
1188 100, 100, 100, 612, 100, 739, 739, 100, 739, 100,
1189 739, 100, 739, 100, 739, 100, 739, 100, 100, 100,
1190 100, 100, 739, 739, 100, 739, 100, 614, 100, 739,
1191 100, 739, 100, 739, 100, 613, 100, 100, 100, 100,
1192 100, 739, 739, 100, 615, 739, 739, 739, 739, 100,
1193 100, 100, 616, 100, 100, 100, 100, 618, 100, 100,
1194 739, 739, 739, 739, 739, 100, 619, 100, 100, 100,
1195 100, 100, 739, 739, 100, 100, 739, 739, 739, 100,
Lev Walkin2535a692005-07-02 21:42:40 +00001196
Lev Walkinef625402005-09-05 05:17:57 +00001197 739, 100, 739, 100, 739, 100, 739, 623, 739, 100,
1198 100, 100, 624, 100, 100, 100, 739, 739, 100, 739,
1199 739, 625, 739, 739, 100, 100, 100, 100, 100, 100,
1200 100, 100, 739, 100, 100, 739, 739, 739, 739, 739,
1201 100, 100, 641, 100, 100, 100, 100, 100, 642, 100,
1202 100, 739, 739, 739, 739, 739, 100, 100, 100, 100,
1203 100, 100, 100, 100, 739, 100, 100, 739, 739, 739,
1204 739, 739, 100, 100, 100, 100, 100, 100, 100, 643,
1205 739, 100, 100, 739, 100, 645, 739, 739, 100, 739,
1206 100, 739, 100, 739, 100, 100, 100, 100, 100, 739,
Lev Walkin2535a692005-07-02 21:42:40 +00001207
Lev Walkinef625402005-09-05 05:17:57 +00001208 739, 739, 739, 100, 739, 100, 100, 649, 739, 100,
1209 739, 739, 100, 739, 100, 739, 100, 739, 100, 650,
1210 100, 739, 100, 100, 100, 100, 100, 739, 739, 100,
1211 739, 100, 739, 100, 739, 100, 739, 100, 739, 100,
1212 100, 100, 100, 100, 739, 739, 739, 739, 100, 739,
1213 100, 100, 100, 739, 100, 739, 739, 100, 666, 100,
1214 739, 100, 739, 100, 739, 100, 739, 100, 670, 671,
1215 100, 100, 100, 100, 739, 739, 100, 739, 739, 739,
1216 739, 739, 100, 100, 100, 100, 100, 100, 100, 100,
1217 739, 100, 100, 739, 739, 687, 739, 739, 100, 100,
Lev Walkin2535a692005-07-02 21:42:40 +00001218
Lev Walkinef625402005-09-05 05:17:57 +00001219 100, 100, 100, 100, 739, 739, 739, 100, 100, 54,
Lev Walkin4696c742005-08-22 12:23:54 +00001220 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
Lev Walkinef625402005-09-05 05:17:57 +00001221 54, 54, 54, 59, 59, 59, 59, 59, 59, 59,
1222 59, 59, 59, 59, 59, 59, 59, 64, 64, 64,
1223 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
1224 64, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1225 67, 67, 67, 67, 67, 76, 76, 76, 76, 76,
1226 76, 76, 76, 76, 76, 76, 76, 76, 76, 78,
1227 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
1228 78, 78, 78, 85, 85, 85, 85, 739, 85, 85,
Lev Walkin2535a692005-07-02 21:42:40 +00001229
Lev Walkinef625402005-09-05 05:17:57 +00001230 85, 85, 85, 85, 85, 85, 85, 92, 92, 92,
1231 739, 739, 92, 739, 92, 739, 92, 158, 158, 739,
1232 158, 158, 162, 162, 739, 739, 162, 162, 162, 739,
1233 162, 162, 162, 162, 162, 162, 166, 166, 166, 166,
1234 739, 166, 166, 166, 166, 166, 166, 166, 166, 166,
1235 168, 168, 168, 168, 168, 168, 168, 168, 168, 739,
1236 168, 168, 170, 739, 739, 739, 170, 170, 170, 170,
1237 170, 170, 170, 170, 171, 739, 739, 739, 171, 171,
1238 171, 171, 171, 171, 171, 171, 173, 739, 739, 739,
1239 173, 739, 173, 173, 173, 173, 173, 173, 178, 178,
Lev Walkin4696c742005-08-22 12:23:54 +00001240
Lev Walkinef625402005-09-05 05:17:57 +00001241 739, 178, 178, 180, 180, 739, 180, 180, 188, 739,
1242 188, 188, 106, 106, 739, 106, 106, 257, 739, 257,
1243 257, 265, 739, 265, 265, 266, 739, 266, 266, 269,
1244 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
1245 269, 269, 269, 189, 189, 739, 189, 189, 574, 574,
1246 739, 574, 574, 574, 574, 574, 574, 574, 574, 574,
1247 574, 574, 572, 572, 572, 739, 739, 739, 739, 572,
1248 739, 739, 739, 739, 572, 17, 739, 739, 739, 739,
1249 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1250 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
Lev Walkin4696c742005-08-22 12:23:54 +00001251
Lev Walkinef625402005-09-05 05:17:57 +00001252 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1253 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1254 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1255 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1256 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1257 739, 739, 739, 739, 739, 739, 739
Lev Walkin2535a692005-07-02 21:42:40 +00001258 } ;
1259
Lev Walkinef625402005-09-05 05:17:57 +00001260static yyconst short int yy_chk[4458] =
Lev Walkin2535a692005-07-02 21:42:40 +00001261 { 0,
1262 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1263 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1264 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1265 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1266 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1267 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1268 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1269 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin4696c742005-08-22 12:23:54 +00001270 1, 3, 3, 3, 4, 4, 4, 5, 5, 5,
Lev Walkinef625402005-09-05 05:17:57 +00001271 11, 3, 9, 7, 4, 8, 9, 5, 6, 6,
Lev Walkin2535a692005-07-02 21:42:40 +00001272
Lev Walkinef625402005-09-05 05:17:57 +00001273 6, 7, 10, 8, 12, 7, 10, 8, 6, 122,
1274 28, 11, 28, 93, 11, 89, 7, 313, 8, 40,
1275 184, 15, 15, 15, 15, 12, 93, 15, 12, 40,
1276 737, 40, 573, 40, 16, 16, 16, 16, 40, 181,
1277 16, 19, 19, 19, 19, 181, 89, 184, 19, 20,
1278 20, 20, 20, 122, 262, 262, 20, 24, 24, 24,
1279 24, 573, 736, 313, 24, 26, 11, 253, 11, 26,
1280 131, 24, 24, 26, 26, 26, 26, 26, 26, 26,
1281 12, 136, 12, 13, 13, 13, 13, 13, 13, 13,
1282 13, 13, 13, 13, 13, 13, 13, 13, 15, 121,
Lev Walkin2535a692005-07-02 21:42:40 +00001283
Lev Walkinef625402005-09-05 05:17:57 +00001284 15, 79, 79, 79, 79, 337, 13, 13, 13, 13,
1285 13, 16, 215, 16, 43, 13, 30, 30, 30, 30,
1286 30, 30, 30, 30, 43, 131, 43, 216, 43, 34,
1287 253, 141, 34, 43, 136, 37, 34, 13, 13, 34,
1288 34, 34, 34, 34, 298, 37, 37, 37, 34, 37,
1289 337, 154, 34, 151, 37, 121, 237, 37, 297, 43,
1290 215, 13, 13, 13, 14, 14, 14, 14, 14, 14,
1291 14, 14, 14, 14, 14, 14, 14, 14, 14, 80,
1292 80, 80, 80, 141, 81, 216, 155, 14, 14, 14,
1293 14, 14, 35, 227, 272, 298, 14, 734, 35, 183,
Lev Walkin2535a692005-07-02 21:42:40 +00001294
Lev Walkinef625402005-09-05 05:17:57 +00001295 81, 183, 35, 154, 35, 35, 35, 151, 451, 183,
1296 36, 35, 237, 36, 231, 38, 38, 297, 14, 14,
1297 36, 272, 36, 734, 36, 599, 38, 451, 38, 36,
1298 38, 81, 38, 155, 336, 38, 41, 41, 733, 41,
1299 344, 227, 14, 14, 14, 23, 155, 41, 41, 41,
1300 344, 41, 172, 172, 41, 599, 41, 84, 84, 84,
1301 84, 23, 231, 172, 255, 23, 23, 23, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001302 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1303 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkinef625402005-09-05 05:17:57 +00001304 23, 336, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001305
1306 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkinef625402005-09-05 05:17:57 +00001307 23, 23, 23, 23, 23, 33, 255, 732, 33, 33,
1308 33, 33, 33, 33, 33, 33, 174, 174, 174, 174,
1309 309, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1310 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1311 33, 33, 33, 33, 33, 33, 33, 249, 318, 33,
Lev Walkin2535a692005-07-02 21:42:40 +00001312 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1313 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkinef625402005-09-05 05:17:57 +00001314 33, 39, 254, 350, 335, 731, 42, 42, 271, 309,
1315 271, 39, 388, 39, 42, 39, 370, 42, 271, 42,
Lev Walkin2535a692005-07-02 21:42:40 +00001316
Lev Walkinef625402005-09-05 05:17:57 +00001317 39, 42, 583, 44, 44, 249, 42, 44, 329, 371,
1318 369, 406, 39, 44, 391, 44, 388, 44, 730, 318,
1319 583, 729, 44, 39, 45, 45, 46, 45, 382, 46,
1320 254, 44, 335, 386, 402, 45, 46, 45, 46, 45,
1321 46, 45, 350, 47, 45, 46, 47, 397, 370, 405,
1322 47, 48, 396, 47, 369, 47, 398, 47, 391, 48,
1323 48, 47, 47, 49, 415, 406, 47, 45, 371, 329,
1324 48, 397, 48, 49, 48, 49, 48, 49, 50, 48,
1325 382, 49, 49, 48, 435, 448, 51, 728, 50, 402,
1326 50, 48, 50, 51, 386, 434, 51, 50, 51, 466,
Lev Walkin2535a692005-07-02 21:42:40 +00001327
Lev Walkinef625402005-09-05 05:17:57 +00001328 51, 689, 49, 456, 398, 51, 53, 53, 53, 53,
1329 405, 396, 410, 50, 727, 726, 415, 410, 404, 725,
1330 53, 53, 53, 53, 53, 53, 53, 53, 76, 724,
1331 435, 448, 436, 76, 76, 76, 76, 76, 76, 76,
1332 76, 76, 76, 91, 91, 91, 91, 466, 456, 434,
1333 91, 76, 76, 76, 76, 76, 689, 91, 91, 94,
1334 94, 94, 94, 94, 94, 94, 94, 97, 97, 97,
1335 97, 97, 97, 97, 97, 100, 101, 404, 407, 407,
1336 407, 407, 76, 76, 436, 100, 101, 100, 101, 100,
1337 101, 102, 104, 101, 100, 101, 461, 477, 722, 447,
Lev Walkin2535a692005-07-02 21:42:40 +00001338
Lev Walkinef625402005-09-05 05:17:57 +00001339 463, 102, 104, 102, 104, 102, 104, 76, 77, 495,
1340 102, 104, 467, 77, 77, 77, 77, 77, 77, 77,
1341 77, 77, 77, 447, 468, 508, 105, 103, 515, 720,
1342 719, 77, 77, 77, 77, 77, 105, 103, 105, 103,
1343 105, 103, 107, 495, 105, 105, 103, 107, 461, 77,
1344 103, 718, 107, 477, 107, 108, 107, 407, 109, 508,
1345 496, 107, 77, 77, 463, 108, 110, 108, 109, 108,
1346 109, 467, 109, 108, 108, 544, 110, 109, 110, 110,
1347 110, 494, 515, 523, 468, 110, 469, 77, 99, 99,
1348 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
Lev Walkin2535a692005-07-02 21:42:40 +00001349
Lev Walkinef625402005-09-05 05:17:57 +00001350 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1351 111, 470, 112, 112, 525, 494, 496, 510, 647, 518,
1352 111, 520, 111, 112, 111, 112, 112, 112, 114, 111,
1353 113, 113, 112, 494, 469, 523, 544, 554, 114, 114,
1354 114, 113, 114, 113, 115, 113, 524, 114, 115, 532,
1355 113, 546, 116, 647, 115, 520, 115, 560, 115, 470,
1356 526, 547, 116, 115, 116, 510, 116, 117, 117, 117,
1357 119, 116, 545, 118, 118, 518, 558, 117, 525, 117,
1358 119, 117, 119, 118, 119, 118, 117, 118, 120, 119,
1359 524, 118, 118, 123, 526, 556, 554, 528, 120, 532,
Lev Walkin2535a692005-07-02 21:42:40 +00001360
Lev Walkinef625402005-09-05 05:17:57 +00001361 120, 120, 120, 123, 528, 560, 124, 120, 563, 124,
1362 567, 547, 546, 123, 125, 123, 124, 123, 124, 716,
1363 124, 568, 123, 735, 125, 124, 125, 565, 125, 126,
1364 126, 570, 714, 125, 593, 587, 558, 545, 569, 126,
1365 127, 126, 586, 126, 596, 588, 126, 126, 126, 735,
1366 127, 128, 127, 127, 127, 595, 556, 129, 563, 127,
1367 604, 128, 651, 128, 606, 128, 567, 129, 130, 129,
1368 128, 129, 569, 128, 626, 568, 129, 620, 130, 598,
1369 130, 132, 130, 587, 133, 713, 593, 130, 565, 132,
1370 596, 132, 570, 132, 133, 132, 133, 134, 133, 602,
Lev Walkin2535a692005-07-02 21:42:40 +00001371
Lev Walkinef625402005-09-05 05:17:57 +00001372 132, 586, 133, 133, 588, 135, 607, 134, 137, 134,
1373 604, 134, 651, 598, 595, 135, 134, 135, 137, 135,
1374 137, 138, 137, 135, 135, 606, 137, 137, 605, 620,
1375 626, 138, 139, 138, 706, 138, 572, 572, 572, 572,
1376 138, 138, 139, 631, 139, 140, 139, 622, 140, 636,
1377 712, 139, 140, 711, 621, 140, 628, 140, 602, 140,
1378 142, 142, 605, 646, 140, 607, 710, 143, 629, 634,
1379 708, 142, 703, 142, 648, 142, 638, 143, 144, 143,
1380 142, 143, 143, 702, 145, 143, 143, 637, 144, 653,
1381 144, 706, 144, 147, 145, 146, 145, 144, 145, 622,
Lev Walkin2535a692005-07-02 21:42:40 +00001382
Lev Walkinef625402005-09-05 05:17:57 +00001383 145, 621, 144, 145, 631, 146, 147, 146, 628, 146,
1384 636, 667, 148, 701, 146, 572, 147, 148, 147, 646,
1385 147, 634, 148, 149, 148, 147, 148, 629, 638, 150,
1386 648, 148, 700, 149, 697, 149, 654, 149, 696, 150,
1387 152, 150, 149, 150, 659, 653, 637, 152, 150, 661,
1388 152, 692, 152, 156, 152, 662, 153, 153, 691, 152,
1389 153, 667, 669, 156, 693, 156, 153, 156, 153, 656,
1390 153, 156, 156, 660, 682, 153, 159, 159, 159, 159,
1391 185, 185, 185, 185, 185, 185, 185, 185, 654, 668,
1392 159, 159, 159, 159, 159, 159, 159, 159, 160, 675,
Lev Walkin2535a692005-07-02 21:42:40 +00001393
Lev Walkinef625402005-09-05 05:17:57 +00001394 659, 661, 160, 160, 160, 160, 160, 160, 160, 160,
1395 161, 662, 669, 674, 161, 161, 161, 161, 161, 161,
1396 161, 161, 188, 190, 191, 693, 190, 690, 656, 688,
1397 682, 715, 660, 190, 191, 190, 191, 190, 191, 192,
1398 193, 668, 190, 191, 608, 608, 608, 608, 695, 192,
1399 193, 192, 193, 192, 193, 680, 686, 675, 192, 193,
1400 685, 698, 677, 674, 681, 684, 188, 188, 188, 188,
1401 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
1402 188, 188, 188, 188, 188, 188, 188, 188, 194, 704,
1403 715, 683, 679, 676, 673, 699, 196, 672, 194, 197,
Lev Walkin2535a692005-07-02 21:42:40 +00001404
Lev Walkinef625402005-09-05 05:17:57 +00001405 194, 194, 194, 196, 695, 680, 196, 194, 196, 197,
1406 196, 197, 198, 197, 677, 196, 681, 698, 197, 665,
1407 199, 664, 198, 608, 198, 707, 198, 663, 200, 198,
1408 199, 198, 199, 709, 199, 658, 201, 704, 200, 199,
1409 200, 683, 200, 201, 200, 699, 201, 200, 201, 202,
1410 201, 657, 655, 652, 644, 201, 640, 203, 639, 202,
1411 204, 202, 635, 202, 633, 632, 202, 203, 202, 203,
1412 204, 203, 204, 630, 204, 707, 203, 204, 204, 204,
1413 205, 205, 206, 709, 627, 206, 617, 611, 205, 610,
1414 601, 205, 206, 205, 206, 205, 206, 207, 600, 597,
Lev Walkin2535a692005-07-02 21:42:40 +00001415
Lev Walkinef625402005-09-05 05:17:57 +00001416 205, 206, 594, 208, 589, 577, 574, 207, 564, 207,
1417 207, 207, 559, 208, 209, 208, 207, 208, 555, 522,
1418 210, 519, 208, 210, 209, 209, 209, 512, 209, 507,
1419 210, 211, 210, 209, 210, 474, 473, 212, 462, 210,
1420 212, 211, 453, 211, 211, 211, 411, 212, 213, 212,
1421 211, 212, 345, 343, 273, 266, 212, 265, 213, 214,
1422 213, 264, 213, 263, 260, 213, 257, 213, 195, 214,
1423 214, 214, 217, 214, 189, 182, 180, 178, 214, 176,
1424 218, 171, 217, 219, 217, 169, 217, 164, 158, 217,
1425 218, 217, 218, 219, 218, 219, 219, 219, 220, 218,
Lev Walkin2535a692005-07-02 21:42:40 +00001426
Lev Walkinef625402005-09-05 05:17:57 +00001427 106, 221, 219, 98, 222, 95, 92, 222, 220, 90,
1428 220, 221, 220, 221, 222, 221, 222, 220, 222, 221,
1429 221, 223, 224, 222, 88, 87, 86, 83, 69, 66,
1430 223, 62, 224, 225, 224, 61, 224, 58, 57, 52,
1431 223, 224, 223, 225, 223, 225, 226, 225, 31, 223,
1432 27, 22, 225, 21, 228, 18, 226, 228, 226, 17,
1433 226, 0, 0, 0, 228, 226, 228, 229, 228, 0,
1434 229, 0, 0, 228, 0, 230, 0, 229, 232, 229,
1435 0, 229, 230, 0, 0, 230, 229, 230, 232, 230,
1436 232, 233, 232, 0, 230, 0, 232, 232, 0, 234,
Lev Walkin2535a692005-07-02 21:42:40 +00001437
Lev Walkinef625402005-09-05 05:17:57 +00001438 0, 233, 0, 233, 0, 233, 0, 235, 0, 234,
1439 233, 234, 0, 234, 0, 236, 234, 235, 234, 235,
1440 0, 235, 0, 0, 235, 236, 235, 236, 238, 236,
1441 239, 239, 0, 0, 236, 236, 0, 0, 238, 240,
1442 238, 239, 238, 239, 0, 239, 0, 238, 0, 240,
1443 239, 240, 241, 240, 0, 0, 0, 0, 240, 0,
1444 242, 0, 241, 242, 241, 0, 241, 0, 243, 0,
1445 242, 241, 242, 0, 242, 243, 244, 0, 243, 242,
1446 243, 0, 243, 0, 0, 0, 244, 243, 244, 245,
1447 244, 0, 0, 0, 244, 244, 0, 246, 0, 245,
Lev Walkin2535a692005-07-02 21:42:40 +00001448
Lev Walkinef625402005-09-05 05:17:57 +00001449 0, 245, 0, 245, 0, 0, 245, 246, 245, 246,
1450 247, 246, 0, 247, 246, 0, 246, 0, 248, 0,
1451 247, 248, 247, 0, 247, 0, 250, 0, 248, 247,
1452 248, 0, 248, 0, 0, 252, 250, 248, 250, 250,
1453 250, 250, 251, 252, 0, 250, 250, 0, 0, 0,
1454 0, 0, 251, 252, 251, 252, 251, 252, 256, 0,
1455 251, 251, 252, 0, 256, 0, 0, 0, 256, 0,
1456 256, 0, 256, 258, 258, 258, 258, 256, 0, 0,
1457 0, 259, 259, 259, 259, 0, 0, 258, 258, 258,
1458 258, 258, 258, 258, 258, 259, 259, 259, 259, 259,
Lev Walkin2535a692005-07-02 21:42:40 +00001459
Lev Walkinef625402005-09-05 05:17:57 +00001460 259, 259, 259, 274, 275, 0, 0, 0, 0, 0,
1461 0, 275, 0, 274, 275, 274, 275, 274, 275, 276,
1462 0, 0, 274, 275, 0, 277, 0, 0, 0, 276,
1463 276, 276, 0, 276, 0, 277, 278, 277, 276, 277,
1464 0, 0, 279, 0, 277, 279, 278, 0, 278, 0,
1465 278, 0, 279, 0, 279, 278, 279, 280, 280, 281,
1466 281, 279, 0, 0, 0, 0, 0, 0, 280, 281,
1467 280, 281, 280, 281, 282, 0, 0, 280, 281, 0,
1468 278, 0, 283, 0, 282, 0, 282, 0, 282, 0,
1469 284, 282, 283, 282, 283, 283, 283, 0, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001470
Lev Walkinef625402005-09-05 05:17:57 +00001471 284, 283, 284, 286, 284, 285, 285, 0, 284, 284,
1472 0, 0, 0, 286, 287, 286, 285, 286, 285, 0,
1473 285, 0, 286, 0, 287, 285, 287, 288, 287, 288,
1474 289, 0, 289, 287, 0, 0, 0, 288, 0, 288,
1475 289, 288, 289, 0, 289, 290, 288, 0, 290, 289,
1476 0, 291, 0, 0, 0, 290, 0, 290, 0, 290,
1477 0, 291, 292, 291, 290, 291, 0, 0, 293, 292,
1478 291, 0, 292, 0, 292, 0, 292, 0, 293, 294,
1479 293, 292, 293, 0, 293, 0, 0, 293, 0, 294,
1480 0, 294, 0, 294, 295, 294, 0, 295, 294, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001481
Lev Walkinef625402005-09-05 05:17:57 +00001482 296, 0, 0, 0, 295, 0, 295, 0, 295, 0,
1483 296, 299, 296, 295, 296, 0, 0, 300, 0, 296,
1484 0, 299, 0, 299, 0, 299, 0, 300, 0, 300,
1485 299, 300, 301, 302, 0, 300, 300, 0, 0, 301,
1486 0, 0, 301, 302, 301, 302, 301, 302, 303, 302,
1487 0, 301, 302, 304, 304, 299, 0, 0, 303, 0,
1488 303, 306, 303, 0, 304, 0, 304, 303, 304, 305,
1489 304, 0, 306, 304, 305, 0, 0, 0, 0, 305,
1490 307, 305, 306, 305, 306, 305, 306, 0, 305, 0,
1491 307, 306, 307, 308, 307, 0, 0, 307, 0, 307,
Lev Walkin2535a692005-07-02 21:42:40 +00001492
Lev Walkinef625402005-09-05 05:17:57 +00001493 0, 310, 310, 308, 311, 308, 0, 308, 0, 0,
1494 0, 310, 308, 310, 311, 310, 311, 312, 311, 0,
1495 310, 315, 311, 311, 0, 314, 0, 312, 314, 312,
1496 312, 312, 0, 0, 0, 314, 312, 314, 315, 314,
1497 0, 0, 0, 0, 314, 0, 316, 0, 315, 316,
1498 315, 0, 315, 317, 317, 0, 316, 315, 316, 0,
1499 316, 0, 319, 0, 317, 316, 317, 0, 317, 0,
1500 320, 0, 319, 317, 319, 0, 319, 0, 0, 0,
1501 320, 319, 320, 321, 320, 0, 321, 0, 320, 320,
1502 0, 322, 0, 321, 323, 321, 0, 321, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001503
Lev Walkinef625402005-09-05 05:17:57 +00001504 0, 322, 321, 322, 323, 322, 323, 0, 323, 325,
1505 322, 324, 324, 323, 0, 326, 328, 0, 0, 325,
1506 0, 325, 324, 325, 324, 326, 324, 326, 325, 326,
1507 327, 324, 0, 328, 326, 0, 330, 0, 0, 0,
1508 327, 0, 327, 328, 327, 328, 330, 328, 330, 327,
1509 330, 331, 328, 325, 332, 330, 0, 332, 0, 0,
1510 0, 331, 333, 331, 332, 331, 332, 0, 332, 0,
1511 331, 0, 333, 332, 333, 334, 333, 0, 0, 0,
1512 0, 333, 0, 0, 0, 334, 338, 334, 0, 334,
1513 0, 0, 334, 0, 334, 0, 338, 333, 338, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001514
Lev Walkinef625402005-09-05 05:17:57 +00001515 338, 339, 339, 339, 339, 338, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 339, 339, 339, 339, 339,
1517 339, 339, 339, 340, 340, 340, 340, 0, 0, 0,
1518 0, 0, 0, 340, 0, 0, 0, 340, 340, 340,
1519 340, 340, 340, 340, 340, 341, 341, 341, 341, 0,
1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 341,
1521 341, 341, 341, 341, 341, 341, 341, 342, 0, 346,
1522 0, 342, 342, 342, 342, 342, 342, 342, 342, 346,
1523 0, 346, 0, 346, 347, 347, 0, 346, 346, 0,
1524 0, 0, 0, 0, 347, 0, 347, 349, 347, 348,
Lev Walkin2535a692005-07-02 21:42:40 +00001525
Lev Walkinef625402005-09-05 05:17:57 +00001526 348, 0, 340, 347, 0, 0, 0, 349, 0, 349,
1527 348, 349, 348, 0, 348, 0, 349, 351, 351, 348,
1528 0, 352, 352, 0, 353, 0, 0, 353, 351, 0,
1529 351, 352, 351, 352, 353, 352, 353, 351, 353, 354,
1530 352, 0, 355, 353, 0, 0, 0, 0, 0, 354,
1531 356, 354, 355, 354, 355, 0, 355, 0, 354, 0,
1532 356, 355, 356, 357, 356, 0, 356, 0, 0, 356,
1533 357, 358, 0, 357, 0, 357, 0, 357, 0, 0,
1534 0, 358, 357, 358, 359, 358, 0, 359, 0, 0,
1535 358, 359, 0, 0, 359, 360, 359, 360, 359, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001536
Lev Walkinef625402005-09-05 05:17:57 +00001537 0, 361, 0, 359, 361, 360, 0, 360, 361, 360,
1538 0, 361, 362, 361, 360, 361, 0, 0, 0, 0,
1539 361, 0, 362, 363, 362, 0, 362, 0, 362, 0,
1540 0, 362, 0, 363, 0, 363, 0, 363, 364, 364,
1541 0, 363, 363, 0, 365, 0, 0, 0, 364, 0,
1542 364, 0, 364, 0, 365, 366, 365, 364, 365, 0,
1543 0, 367, 365, 365, 0, 366, 0, 366, 0, 366,
1544 0, 367, 366, 367, 366, 367, 368, 372, 0, 0,
1545 367, 0, 0, 0, 372, 0, 368, 372, 368, 372,
1546 368, 372, 0, 0, 374, 368, 372, 373, 373, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001547
Lev Walkinef625402005-09-05 05:17:57 +00001548 373, 0, 0, 0, 374, 0, 374, 373, 374, 373,
1549 0, 373, 374, 374, 376, 375, 373, 375, 0, 0,
1550 0, 0, 0, 0, 376, 375, 376, 375, 376, 375,
1551 377, 0, 0, 376, 375, 0, 378, 0, 0, 378,
1552 377, 0, 377, 0, 377, 0, 378, 379, 378, 377,
1553 378, 380, 0, 0, 381, 378, 0, 379, 0, 379,
1554 380, 379, 0, 0, 379, 0, 379, 0, 383, 0,
1555 380, 381, 380, 0, 380, 0, 0, 0, 383, 380,
1556 383, 381, 383, 381, 384, 381, 383, 383, 0, 0,
1557 381, 0, 385, 0, 384, 0, 384, 0, 384, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001558
Lev Walkinef625402005-09-05 05:17:57 +00001559 387, 0, 385, 384, 385, 0, 385, 0, 389, 0,
1560 387, 385, 387, 0, 387, 0, 387, 0, 389, 387,
1561 389, 390, 389, 0, 0, 0, 0, 389, 0, 0,
1562 0, 390, 0, 390, 392, 390, 0, 393, 0, 390,
1563 390, 392, 0, 0, 392, 394, 392, 393, 392, 393,
1564 394, 393, 0, 392, 0, 394, 393, 394, 395, 394,
1565 0, 0, 0, 0, 394, 0, 0, 0, 395, 399,
1566 395, 0, 395, 0, 0, 400, 0, 395, 400, 399,
1567 395, 399, 0, 399, 0, 400, 401, 400, 399, 400,
1568 0, 0, 0, 0, 400, 0, 401, 403, 401, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001569
Lev Walkinef625402005-09-05 05:17:57 +00001570 401, 0, 401, 0, 0, 401, 0, 403, 0, 403,
1571 0, 403, 408, 408, 408, 408, 403, 0, 0, 0,
1572 0, 0, 0, 0, 412, 0, 408, 408, 408, 408,
1573 408, 408, 408, 408, 412, 0, 412, 414, 412, 413,
1574 413, 403, 0, 412, 0, 0, 0, 414, 416, 414,
1575 413, 414, 413, 0, 413, 414, 414, 0, 416, 413,
1576 416, 417, 416, 0, 418, 0, 0, 416, 0, 0,
1577 0, 417, 0, 417, 418, 417, 418, 0, 418, 417,
1578 417, 419, 0, 418, 419, 0, 420, 420, 0, 0,
1579 0, 419, 0, 419, 0, 419, 0, 420, 421, 420,
Lev Walkin2535a692005-07-02 21:42:40 +00001580
Lev Walkinef625402005-09-05 05:17:57 +00001581 419, 420, 0, 0, 422, 0, 420, 0, 421, 0,
1582 421, 0, 421, 0, 422, 0, 422, 421, 422, 423,
1583 0, 423, 422, 422, 0, 424, 0, 0, 0, 423,
1584 0, 423, 0, 423, 0, 424, 0, 424, 423, 424,
1585 0, 0, 425, 424, 424, 425, 0, 0, 426, 0,
1586 426, 0, 425, 0, 425, 0, 425, 0, 426, 427,
1587 426, 425, 426, 0, 428, 428, 0, 426, 0, 427,
1588 0, 427, 0, 427, 0, 428, 429, 428, 427, 428,
1589 0, 0, 430, 0, 428, 0, 429, 0, 429, 430,
1590 429, 0, 430, 431, 430, 429, 430, 0, 0, 432,
Lev Walkin2535a692005-07-02 21:42:40 +00001591
Lev Walkinef625402005-09-05 05:17:57 +00001592 0, 430, 0, 431, 0, 431, 432, 431, 0, 432,
1593 431, 432, 431, 432, 433, 433, 437, 0, 432, 0,
1594 437, 0, 0, 0, 0, 433, 437, 433, 437, 433,
1595 437, 438, 0, 0, 433, 437, 0, 439, 438, 439,
1596 0, 438, 0, 438, 0, 438, 0, 439, 440, 439,
1597 438, 439, 0, 0, 441, 0, 439, 441, 440, 0,
1598 440, 0, 440, 0, 441, 440, 441, 440, 441, 442,
1599 442, 0, 0, 441, 0, 443, 443, 0, 0, 442,
1600 0, 442, 0, 442, 0, 443, 444, 443, 442, 443,
1601 0, 0, 0, 0, 443, 0, 444, 0, 444, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001602
Lev Walkinef625402005-09-05 05:17:57 +00001603 444, 445, 444, 0, 445, 444, 0, 446, 0, 0,
1604 0, 445, 0, 445, 0, 445, 0, 446, 449, 446,
1605 445, 446, 0, 0, 446, 0, 446, 0, 449, 0,
1606 449, 452, 449, 450, 450, 0, 0, 449, 0, 0,
1607 0, 452, 454, 452, 450, 452, 450, 0, 450, 0,
1608 452, 0, 454, 450, 454, 455, 454, 0, 455, 0,
1609 454, 454, 0, 457, 0, 455, 0, 455, 0, 455,
1610 0, 0, 0, 457, 455, 457, 0, 457, 458, 458,
1611 0, 459, 457, 457, 460, 0, 0, 0, 458, 0,
1612 458, 459, 458, 459, 460, 459, 460, 458, 460, 464,
Lev Walkin2535a692005-07-02 21:42:40 +00001613
Lev Walkinef625402005-09-05 05:17:57 +00001614 459, 0, 465, 460, 0, 0, 0, 0, 0, 464,
1615 0, 464, 465, 464, 465, 0, 465, 0, 464, 465,
1616 0, 465, 471, 471, 471, 471, 0, 0, 0, 0,
1617 0, 0, 0, 0, 0, 0, 471, 471, 471, 471,
1618 471, 471, 471, 471, 472, 0, 475, 0, 472, 472,
1619 472, 472, 472, 472, 472, 472, 475, 0, 475, 476,
1620 475, 0, 478, 0, 475, 475, 476, 0, 0, 476,
1621 0, 476, 478, 476, 478, 0, 478, 479, 476, 0,
1622 479, 478, 0, 480, 0, 0, 0, 479, 0, 479,
1623 0, 479, 0, 480, 481, 480, 479, 480, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001624
Lev Walkinef625402005-09-05 05:17:57 +00001625 482, 481, 480, 0, 481, 0, 481, 482, 481, 0,
1626 482, 483, 482, 481, 482, 0, 0, 484, 0, 482,
1627 0, 483, 0, 483, 0, 483, 0, 484, 485, 484,
1628 483, 484, 0, 0, 0, 485, 484, 0, 485, 486,
1629 485, 486, 485, 0, 0, 487, 0, 485, 0, 486,
1630 0, 486, 0, 486, 0, 487, 488, 487, 486, 487,
1631 0, 488, 489, 0, 487, 0, 488, 0, 488, 0,
1632 488, 0, 489, 490, 489, 488, 489, 0, 0, 0,
1633 489, 489, 0, 490, 491, 490, 0, 490, 0, 0,
1634 492, 490, 490, 0, 491, 0, 491, 0, 491, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001635
Lev Walkinef625402005-09-05 05:17:57 +00001636 492, 493, 492, 491, 492, 0, 0, 497, 0, 492,
1637 0, 493, 0, 493, 497, 493, 0, 497, 498, 497,
1638 493, 497, 0, 0, 0, 0, 497, 0, 498, 499,
1639 498, 0, 498, 0, 0, 500, 498, 498, 0, 499,
1640 0, 499, 0, 499, 0, 500, 501, 500, 499, 500,
1641 0, 0, 502, 0, 500, 502, 501, 0, 501, 0,
1642 501, 0, 502, 501, 502, 501, 502, 503, 504, 0,
1643 0, 502, 0, 0, 0, 0, 0, 503, 504, 503,
1644 504, 503, 504, 505, 505, 503, 503, 504, 0, 506,
1645 0, 0, 0, 505, 0, 505, 0, 505, 0, 506,
Lev Walkin2535a692005-07-02 21:42:40 +00001646
Lev Walkinef625402005-09-05 05:17:57 +00001647 509, 506, 505, 506, 0, 0, 511, 0, 506, 0,
1648 509, 0, 509, 0, 509, 0, 511, 513, 511, 509,
1649 511, 0, 0, 0, 0, 511, 0, 513, 514, 513,
1650 0, 513, 0, 506, 516, 0, 513, 516, 514, 0,
1651 514, 0, 514, 0, 516, 0, 516, 514, 516, 517,
1652 0, 0, 517, 516, 521, 521, 0, 0, 0, 517,
1653 0, 517, 0, 517, 0, 521, 0, 521, 517, 521,
1654 527, 527, 527, 527, 521, 0, 0, 0, 0, 0,
1655 0, 0, 0, 0, 527, 527, 527, 527, 527, 527,
1656 527, 527, 530, 531, 531, 0, 0, 0, 0, 530,
Lev Walkin2535a692005-07-02 21:42:40 +00001657
Lev Walkinef625402005-09-05 05:17:57 +00001658 0, 0, 530, 531, 530, 531, 530, 531, 533, 0,
1659 0, 530, 531, 0, 0, 0, 534, 0, 533, 535,
1660 533, 0, 533, 0, 533, 0, 534, 533, 534, 535,
1661 534, 535, 536, 535, 534, 534, 0, 0, 535, 539,
1662 537, 0, 536, 0, 536, 0, 536, 0, 538, 0,
1663 537, 536, 537, 537, 537, 0, 539, 0, 538, 537,
1664 538, 0, 538, 0, 0, 0, 539, 538, 539, 540,
1665 539, 0, 540, 0, 0, 539, 0, 541, 0, 540,
1666 0, 540, 0, 540, 0, 542, 0, 541, 540, 541,
1667 0, 541, 542, 543, 0, 542, 541, 542, 0, 542,
Lev Walkin2535a692005-07-02 21:42:40 +00001668
Lev Walkinef625402005-09-05 05:17:57 +00001669 0, 0, 0, 543, 542, 543, 548, 543, 0, 548,
1670 0, 0, 543, 0, 549, 0, 548, 550, 548, 0,
1671 548, 0, 0, 0, 549, 548, 549, 550, 549, 550,
1672 551, 550, 0, 549, 0, 0, 550, 0, 552, 0,
1673 551, 553, 551, 0, 551, 552, 0, 0, 552, 551,
1674 552, 553, 552, 553, 557, 553, 0, 552, 561, 553,
1675 553, 0, 562, 0, 557, 0, 557, 0, 557, 0,
1676 0, 0, 562, 557, 562, 561, 562, 0, 566, 0,
1677 0, 562, 0, 0, 0, 561, 0, 561, 566, 561,
1678 566, 0, 566, 0, 561, 0, 0, 566, 571, 571,
Lev Walkin2535a692005-07-02 21:42:40 +00001679
Lev Walkinef625402005-09-05 05:17:57 +00001680 571, 571, 0, 0, 0, 0, 0, 0, 0, 0,
1681 575, 0, 571, 571, 571, 571, 571, 571, 571, 571,
1682 575, 576, 575, 575, 575, 0, 0, 578, 0, 575,
1683 0, 576, 0, 576, 0, 576, 0, 578, 579, 578,
1684 576, 578, 0, 0, 580, 0, 578, 580, 579, 0,
1685 579, 0, 579, 0, 580, 579, 580, 579, 580, 581,
1686 582, 0, 0, 580, 581, 0, 0, 0, 0, 581,
1687 582, 581, 582, 581, 582, 584, 585, 584, 581, 582,
1688 0, 0, 0, 0, 0, 584, 585, 584, 585, 584,
1689 585, 590, 0, 0, 584, 585, 0, 0, 0, 591,
Lev Walkin2535a692005-07-02 21:42:40 +00001690
Lev Walkinef625402005-09-05 05:17:57 +00001691 0, 590, 0, 590, 0, 590, 0, 590, 0, 591,
1692 590, 591, 591, 591, 592, 603, 0, 0, 591, 0,
1693 0, 592, 0, 0, 592, 603, 592, 603, 592, 603,
1694 612, 613, 0, 592, 603, 0, 0, 0, 0, 0,
1695 612, 613, 612, 613, 612, 613, 614, 615, 614, 612,
1696 613, 0, 0, 0, 0, 0, 614, 615, 614, 615,
1697 614, 615, 616, 618, 0, 614, 615, 0, 0, 0,
1698 0, 0, 616, 618, 616, 618, 616, 618, 619, 616,
1699 0, 616, 618, 0, 623, 619, 0, 0, 619, 0,
1700 619, 0, 619, 0, 623, 624, 623, 619, 623, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001701
Lev Walkinef625402005-09-05 05:17:57 +00001702 0, 0, 0, 623, 0, 624, 625, 624, 0, 624,
1703 0, 0, 641, 0, 624, 0, 625, 0, 625, 625,
1704 625, 0, 641, 642, 641, 625, 641, 0, 0, 643,
1705 0, 641, 0, 642, 0, 642, 0, 642, 0, 643,
1706 645, 643, 642, 643, 0, 0, 0, 0, 643, 0,
1707 645, 649, 645, 0, 645, 0, 0, 650, 645, 645,
1708 0, 649, 0, 649, 0, 649, 0, 650, 649, 650,
1709 649, 650, 666, 670, 0, 0, 650, 0, 0, 0,
1710 0, 0, 666, 670, 666, 670, 666, 670, 671, 687,
1711 0, 666, 670, 0, 0, 666, 0, 0, 671, 687,
Lev Walkin2535a692005-07-02 21:42:40 +00001712
Lev Walkinef625402005-09-05 05:17:57 +00001713 671, 687, 671, 687, 0, 0, 0, 671, 687, 740,
1714 740, 740, 740, 740, 740, 740, 740, 740, 740, 740,
1715 740, 740, 740, 741, 741, 741, 741, 741, 741, 741,
1716 741, 741, 741, 741, 741, 741, 741, 742, 742, 742,
1717 742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
1718 742, 743, 743, 743, 743, 743, 743, 743, 743, 743,
1719 743, 743, 743, 743, 743, 744, 744, 744, 744, 744,
1720 744, 744, 744, 744, 744, 744, 744, 744, 744, 745,
1721 745, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1722 745, 745, 745, 746, 746, 746, 746, 0, 746, 746,
Lev Walkin2535a692005-07-02 21:42:40 +00001723
Lev Walkinef625402005-09-05 05:17:57 +00001724 746, 746, 746, 746, 746, 746, 746, 747, 747, 747,
1725 0, 0, 747, 0, 747, 0, 747, 748, 748, 0,
1726 748, 748, 749, 749, 0, 0, 749, 749, 749, 0,
1727 749, 749, 749, 749, 749, 749, 750, 750, 750, 750,
1728 0, 750, 750, 750, 750, 750, 750, 750, 750, 750,
1729 751, 751, 751, 751, 751, 751, 751, 751, 751, 0,
1730 751, 751, 752, 0, 0, 0, 752, 752, 752, 752,
1731 752, 752, 752, 752, 753, 0, 0, 0, 753, 753,
1732 753, 753, 753, 753, 753, 753, 754, 0, 0, 0,
1733 754, 0, 754, 754, 754, 754, 754, 754, 755, 755,
Lev Walkin4696c742005-08-22 12:23:54 +00001734
Lev Walkinef625402005-09-05 05:17:57 +00001735 0, 755, 755, 756, 756, 0, 756, 756, 757, 0,
1736 757, 757, 758, 758, 0, 758, 758, 759, 0, 759,
1737 759, 760, 0, 760, 760, 761, 0, 761, 761, 762,
1738 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
1739 762, 762, 762, 763, 763, 0, 763, 763, 764, 764,
1740 0, 764, 764, 764, 764, 764, 764, 764, 764, 764,
1741 764, 764, 765, 765, 765, 0, 0, 0, 0, 765,
1742 0, 0, 0, 0, 765, 739, 739, 739, 739, 739,
1743 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1744 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
Lev Walkin4696c742005-08-22 12:23:54 +00001745
Lev Walkinef625402005-09-05 05:17:57 +00001746 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1747 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1748 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1749 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1750 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1751 739, 739, 739, 739, 739, 739, 739
Lev Walkinf15320b2004-06-03 03:38:44 +00001752 } ;
1753
1754extern int yy_flex_debug;
1755int yy_flex_debug = 1;
1756
Lev Walkinef625402005-09-05 05:17:57 +00001757static yyconst short int yy_rule_linenum[134] =
Lev Walkinf15320b2004-06-03 03:38:44 +00001758 { 0,
Lev Walkinef625402005-09-05 05:17:57 +00001759 94, 95, 97, 100, 102, 105, 107, 108, 109, 112,
1760 114, 115, 116, 128, 135, 142, 148, 157, 165, 173,
1761 174, 176, 195, 201, 202, 203, 204, 205, 208, 214,
1762 221, 228, 235, 242, 246, 247, 255, 256, 257, 258,
1763 259, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1764 273, 274, 283, 284, 285, 286, 287, 288, 289, 290,
1765 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
1766 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
1767 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
1768 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
Lev Walkinf15320b2004-06-03 03:38:44 +00001769
Lev Walkinef625402005-09-05 05:17:57 +00001770 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
1771 341, 346, 347, 352, 353, 354, 357, 362, 368, 376,
1772 386, 391, 393, 394, 398, 404, 410, 418, 421, 446,
1773 490, 492, 503
Lev Walkinf15320b2004-06-03 03:38:44 +00001774 } ;
1775
1776static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
1777static char *yy_full_match;
1778static int yy_lp;
1779#define REJECT \
1780{ \
1781*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
1782yy_cp = yy_full_match; /* restore poss. backed-over text */ \
1783++yy_lp; \
1784goto find_rule; \
1785}
1786#define yymore() yymore_used_but_not_detected
1787#define YY_MORE_ADJ 0
1788#define YY_RESTORE_YY_MORE_OFFSET
1789char *yytext;
1790#line 1 "asn1p_l.l"
1791#define INITIAL 0
1792#line 2 "asn1p_l.l"
1793
1794#include <string.h>
1795#include <errno.h>
1796#include <assert.h>
1797
1798#include "asn1parser.h"
1799#include "asn1p_y.h"
1800
1801int asn1p_lex(void);
1802void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
1803void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
Lev Walkinf59d0752004-08-18 04:59:12 +00001804void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
Lev Walkinf15320b2004-06-03 03:38:44 +00001805
1806#define YY_FATAL_ERROR(msg) do { \
1807 fprintf(stderr, \
1808 "lexer error at line %d, " \
1809 "text \"%s\"\n", \
1810 yylineno, yytext); \
1811 exit(1); \
1812 } while(0)
1813
1814int asn1p_lexer_pedantic_1990 = 0;
1815int asn1p_lexer_types_year = 0;
1816int asn1p_lexer_constructs_year = 0;
Lev Walkind21c5052004-09-29 13:18:09 +00001817static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */
Lev Walkinf15320b2004-06-03 03:38:44 +00001818
Lev Walkin4696c742005-08-22 12:23:54 +00001819int asn1p_as_pointer;
1820
Lev Walkinf15320b2004-06-03 03:38:44 +00001821/*
1822 * Check that the type is defined in the year of the standard choosen.
1823 */
1824#define TYPE_LIFETIME(fyr, lyr) \
1825 (!asn1p_lexer_types_year \
1826 || (fyr && fyr <= asn1p_lexer_types_year) \
1827 || (lyr && lyr > asn1p_lexer_types_year))
1828
1829/*
1830 * Check the the construction (or concept, i.e. CLASS) is defined in
1831 * a given year.
1832 */
1833#define CONSTRUCT_LIFETIME(fyr, lyr) \
1834 (!asn1p_lexer_constructs_year \
1835 || (fyr && fyr <= asn1p_lexer_constructs_year) \
1836 || (lyr && lyr > asn1p_lexer_constructs_year))
1837
1838/*
Lev Walkinf15320b2004-06-03 03:38:44 +00001839 * Append quoted string.
1840 */
1841#define QAPPEND(text, tlen) do { \
1842 char *prev_text = asn1p_lval.tv_opaque.buf; \
1843 int prev_len = asn1p_lval.tv_opaque.len; \
1844 char *p; \
1845 \
1846 p = malloc((tlen) + prev_len + 1); \
1847 if(p == NULL) return -1; \
1848 \
1849 if(prev_text) memcpy(p, prev_text, prev_len); \
1850 memcpy(p + prev_len, text, tlen); \
1851 p[prev_len + (tlen)] = '\0'; \
1852 \
1853 free(asn1p_lval.tv_opaque.buf); \
1854 asn1p_lval.tv_opaque.buf = p; \
1855 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
1856 } while(0)
1857
1858#define YY_NEVER_INTERACTIVE 1
1859#define YY_NO_INPUT 1
Lev Walkinf15320b2004-06-03 03:38:44 +00001860#define YY_STACK_USED 1
1861/* Performance penalty is OK */
1862/* Controlled from within application */
1863#define dash_comment 1
1864
Lev Walkin2535a692005-07-02 21:42:40 +00001865#define idash_comment 2
Lev Walkinf15320b2004-06-03 03:38:44 +00001866
Lev Walkin2535a692005-07-02 21:42:40 +00001867#define cpp_comment 3
Lev Walkinf15320b2004-06-03 03:38:44 +00001868
Lev Walkin2535a692005-07-02 21:42:40 +00001869#define quoted 4
Lev Walkinf15320b2004-06-03 03:38:44 +00001870
Lev Walkin2535a692005-07-02 21:42:40 +00001871#define opaque 5
Lev Walkinf59d0752004-08-18 04:59:12 +00001872
Lev Walkin2535a692005-07-02 21:42:40 +00001873#define encoding_control 6
1874
1875#define with_syntax 7
Lev Walkinf15320b2004-06-03 03:38:44 +00001876
1877/* Newline */
1878/* White-space */
Lev Walkinef625402005-09-05 05:17:57 +00001879#line 1880 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00001880
1881/* Macros after this point can all be overridden by user definitions in
1882 * section 1.
1883 */
1884
1885#ifndef YY_SKIP_YYWRAP
1886#ifdef __cplusplus
1887extern "C" int yywrap YY_PROTO(( void ));
1888#else
1889extern int yywrap YY_PROTO(( void ));
1890#endif
1891#endif
1892
1893#ifndef YY_NO_UNPUT
1894static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1895#endif
1896
1897#ifndef yytext_ptr
1898static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1899#endif
1900
1901#ifdef YY_NEED_STRLEN
1902static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1903#endif
1904
1905#ifndef YY_NO_INPUT
1906#ifdef __cplusplus
1907static int yyinput YY_PROTO(( void ));
1908#else
1909static int input YY_PROTO(( void ));
1910#endif
1911#endif
1912
1913#if YY_STACK_USED
1914static int yy_start_stack_ptr = 0;
1915static int yy_start_stack_depth = 0;
1916static int *yy_start_stack = 0;
1917#ifndef YY_NO_PUSH_STATE
1918static void yy_push_state YY_PROTO(( int new_state ));
1919#endif
1920#ifndef YY_NO_POP_STATE
1921static void yy_pop_state YY_PROTO(( void ));
1922#endif
1923#ifndef YY_NO_TOP_STATE
1924static int yy_top_state YY_PROTO(( void ));
1925#endif
1926
1927#else
1928#define YY_NO_PUSH_STATE 1
1929#define YY_NO_POP_STATE 1
1930#define YY_NO_TOP_STATE 1
1931#endif
1932
1933#ifdef YY_MALLOC_DECL
1934YY_MALLOC_DECL
1935#else
1936#if __STDC__
1937#ifndef __cplusplus
1938#include <stdlib.h>
1939#endif
1940#else
1941/* Just try to get by without declaring the routines. This will fail
1942 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1943 * or sizeof(void*) != sizeof(int).
1944 */
1945#endif
1946#endif
1947
1948/* Amount of stuff to slurp up with each read. */
1949#ifndef YY_READ_BUF_SIZE
1950#define YY_READ_BUF_SIZE 8192
1951#endif
1952
1953/* Copy whatever the last rule matched to the standard output. */
1954
1955#ifndef ECHO
1956/* This used to be an fputs(), but since the string might contain NUL's,
1957 * we now use fwrite().
1958 */
1959#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1960#endif
1961
1962/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1963 * is returned in "result".
1964 */
1965#ifndef YY_INPUT
1966#define YY_INPUT(buf,result,max_size) \
1967 if ( yy_current_buffer->yy_is_interactive ) \
1968 { \
1969 int c = '*', n; \
1970 for ( n = 0; n < max_size && \
1971 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1972 buf[n] = (char) c; \
1973 if ( c == '\n' ) \
1974 buf[n++] = (char) c; \
1975 if ( c == EOF && ferror( yyin ) ) \
1976 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1977 result = n; \
1978 } \
1979 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1980 && ferror( yyin ) ) \
1981 YY_FATAL_ERROR( "input in flex scanner failed" );
1982#endif
1983
1984/* No semi-colon after return; correct usage is to write "yyterminate();" -
1985 * we don't want an extra ';' after the "return" because that will cause
1986 * some compilers to complain about unreachable statements.
1987 */
1988#ifndef yyterminate
1989#define yyterminate() return YY_NULL
1990#endif
1991
1992/* Number of entries by which start-condition stack grows. */
1993#ifndef YY_START_STACK_INCR
1994#define YY_START_STACK_INCR 25
1995#endif
1996
1997/* Report a fatal error. */
1998#ifndef YY_FATAL_ERROR
1999#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2000#endif
2001
2002/* Default declaration of generated scanner - a define so the user can
2003 * easily add parameters.
2004 */
2005#ifndef YY_DECL
2006#define YY_DECL int yylex YY_PROTO(( void ))
2007#endif
2008
2009/* Code executed at the beginning of each rule, after yytext and yyleng
2010 * have been set up.
2011 */
2012#ifndef YY_USER_ACTION
2013#define YY_USER_ACTION
2014#endif
2015
2016/* Code executed at the end of each rule. */
2017#ifndef YY_BREAK
2018#define YY_BREAK break;
2019#endif
2020
2021#define YY_RULE_SETUP \
2022 YY_USER_ACTION
2023
2024YY_DECL
2025 {
2026 register yy_state_type yy_current_state;
2027 register char *yy_cp, *yy_bp;
2028 register int yy_act;
2029
Lev Walkin4696c742005-08-22 12:23:54 +00002030#line 92 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002031
2032
Lev Walkinef625402005-09-05 05:17:57 +00002033#line 2034 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00002034
2035 if ( yy_init )
2036 {
2037 yy_init = 0;
2038
2039#ifdef YY_USER_INIT
2040 YY_USER_INIT;
2041#endif
2042
2043 if ( ! yy_start )
2044 yy_start = 1; /* first start state */
2045
2046 if ( ! yyin )
2047 yyin = stdin;
2048
2049 if ( ! yyout )
2050 yyout = stdout;
2051
2052 if ( ! yy_current_buffer )
2053 yy_current_buffer =
2054 yy_create_buffer( yyin, YY_BUF_SIZE );
2055
2056 yy_load_buffer_state();
2057 }
2058
2059 while ( 1 ) /* loops until end-of-file is reached */
2060 {
2061 yy_cp = yy_c_buf_p;
2062
2063 /* Support of yytext. */
2064 *yy_cp = yy_hold_char;
2065
2066 /* yy_bp points to the position in yy_ch_buf of the start of
2067 * the current run.
2068 */
2069 yy_bp = yy_cp;
2070
2071 yy_current_state = yy_start;
2072 yy_state_ptr = yy_state_buf;
2073 *yy_state_ptr++ = yy_current_state;
2074yy_match:
2075 do
2076 {
2077 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2078 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2079 {
2080 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinef625402005-09-05 05:17:57 +00002081 if ( yy_current_state >= 740 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002082 yy_c = yy_meta[(unsigned int) yy_c];
2083 }
2084 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2085 *yy_state_ptr++ = yy_current_state;
2086 ++yy_cp;
2087 }
Lev Walkinef625402005-09-05 05:17:57 +00002088 while ( yy_base[yy_current_state] != 4376 );
Lev Walkinf15320b2004-06-03 03:38:44 +00002089
2090yy_find_action:
2091 yy_current_state = *--yy_state_ptr;
2092 yy_lp = yy_accept[yy_current_state];
2093find_rule: /* we branch to this label when backing up */
2094 for ( ; ; ) /* until we find what rule we matched */
2095 {
2096 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
2097 {
2098 yy_act = yy_acclist[yy_lp];
2099 {
2100 yy_full_match = yy_cp;
2101 break;
2102 }
2103 }
2104 --yy_cp;
2105 yy_current_state = *--yy_state_ptr;
2106 yy_lp = yy_accept[yy_current_state];
2107 }
2108
2109 YY_DO_BEFORE_ACTION;
2110
2111 if ( yy_act != YY_END_OF_BUFFER )
2112 {
2113 int yyl;
2114 for ( yyl = 0; yyl < yyleng; ++yyl )
2115 if ( yytext[yyl] == '\n' )
2116 ++yylineno;
2117 }
2118
2119do_action: /* This label is used only to access EOF actions. */
2120
2121 if ( yy_flex_debug )
2122 {
2123 if ( yy_act == 0 )
2124 fprintf( stderr, "--scanner backing up\n" );
Lev Walkinef625402005-09-05 05:17:57 +00002125 else if ( yy_act < 134 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002126 fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
2127 yy_rule_linenum[yy_act], yytext );
Lev Walkinef625402005-09-05 05:17:57 +00002128 else if ( yy_act == 134 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002129 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2130 yytext );
Lev Walkinef625402005-09-05 05:17:57 +00002131 else if ( yy_act == 135 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002132 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2133 else
2134 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2135 }
2136
2137 switch ( yy_act )
2138 { /* beginning of action switch */
2139case 1:
Lev Walkin2535a692005-07-02 21:42:40 +00002140*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2141yy_c_buf_p = yy_cp -= 1;
2142YY_DO_BEFORE_ACTION; /* set up yytext again */
Lev Walkinf15320b2004-06-03 03:38:44 +00002143YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002144#line 94 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002145/* Immediately terminated long comment */
2146 YY_BREAK
2147case 2:
2148*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2149yy_c_buf_p = yy_cp -= 1;
2150YY_DO_BEFORE_ACTION; /* set up yytext again */
2151YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002152#line 95 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002153yy_push_state(idash_comment); /* Incorrect, but acceptable */
2154 YY_BREAK
2155
2156case 3:
2157YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002158#line 97 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002159yy_pop_state(); /* Acceptable end of comment */
2160 YY_BREAK
2161
2162case 4:
2163YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002164#line 100 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002165asn1p_as_pointer = 1;
2166 YY_BREAK
2167case 5:
2168YY_RULE_SETUP
2169#line 102 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002170yy_push_state(dash_comment);
2171 YY_BREAK
2172
Lev Walkin2535a692005-07-02 21:42:40 +00002173case 6:
Lev Walkinf15320b2004-06-03 03:38:44 +00002174YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002175#line 105 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002176yy_pop_state();
Lev Walkinf15320b2004-06-03 03:38:44 +00002177 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002178case 7:
Lev Walkinf15320b2004-06-03 03:38:44 +00002179YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002180#line 107 "asn1p_l.l"
2181yy_pop_state(); /* End of comment */
Lev Walkinf15320b2004-06-03 03:38:44 +00002182 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002183case 8:
2184YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002185#line 108 "asn1p_l.l"
2186/* Eat single dash */
Lev Walkin4696c742005-08-22 12:23:54 +00002187 YY_BREAK
2188case 9:
2189YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002190#line 109 "asn1p_l.l"
2191/* Eat */
Lev Walkin4696c742005-08-22 12:23:54 +00002192 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002193
Lev Walkin4696c742005-08-22 12:23:54 +00002194case 10:
2195YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002196#line 112 "asn1p_l.l"
2197yy_push_state(cpp_comment);
Lev Walkin2535a692005-07-02 21:42:40 +00002198 YY_BREAK
2199
Lev Walkin4696c742005-08-22 12:23:54 +00002200case 11:
Lev Walkin2535a692005-07-02 21:42:40 +00002201YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002202#line 114 "asn1p_l.l"
2203/* Eat */
Lev Walkin2535a692005-07-02 21:42:40 +00002204 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002205case 12:
Lev Walkinf15320b2004-06-03 03:38:44 +00002206YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002207#line 115 "asn1p_l.l"
2208yy_pop_state();
Lev Walkin4696c742005-08-22 12:23:54 +00002209 YY_BREAK
2210case 13:
2211YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002212#line 116 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002213/* Eat */
2214 YY_BREAK
2215
2216/*
2217 * This is state is being set from corresponding .y module when
2218 * higher-level data is necessary to make proper parsing of the
2219 * underlying data. Thus, we enter the <opaque> state and save
2220 * everything for later processing.
2221 */
2222
Lev Walkinef625402005-09-05 05:17:57 +00002223case 14:
Lev Walkinf15320b2004-06-03 03:38:44 +00002224YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002225#line 128 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002226{
2227 yy_push_state(opaque);
2228 asn1p_lval.tv_opaque.buf = strdup(yytext);
2229 asn1p_lval.tv_opaque.len = yyleng;
2230 return TOK_opaque;
2231 }
2232 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002233case 15:
Lev Walkinf15320b2004-06-03 03:38:44 +00002234YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002235#line 135 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002236{
2237 yy_pop_state();
2238 asn1p_lval.tv_opaque.buf = strdup(yytext);
2239 asn1p_lval.tv_opaque.len = yyleng;
2240 return TOK_opaque;
2241 }
2242 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002243case 16:
Lev Walkinf15320b2004-06-03 03:38:44 +00002244YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002245#line 142 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002246{
2247 asn1p_lval.tv_opaque.buf = strdup(yytext);
2248 asn1p_lval.tv_opaque.len = yyleng;
2249 return TOK_opaque;
2250 }
2251 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002252case 17:
Lev Walkinf15320b2004-06-03 03:38:44 +00002253YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002254#line 148 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002255{
2256 fprintf(stderr,
2257 "ASN.1 Parser syncronization failure: "
2258 "\"%s\" at line %d must not appear "
2259 "inside value definition\n",
2260 yytext, yylineno);
2261 return -1;
2262 }
2263 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002264case 18:
Lev Walkinf15320b2004-06-03 03:38:44 +00002265YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002266#line 157 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002267{
2268 asn1p_lval.tv_opaque.buf = strdup(yytext);
2269 asn1p_lval.tv_opaque.len = yyleng;
2270 return TOK_opaque;
2271 }
2272 YY_BREAK
2273
Lev Walkinef625402005-09-05 05:17:57 +00002274case 19:
Lev Walkinf15320b2004-06-03 03:38:44 +00002275YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002276#line 165 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002277{
2278 asn1p_lval.tv_opaque.buf = 0;
2279 asn1p_lval.tv_opaque.len = 0;
2280 QAPPEND(yytext+1, yyleng-1);
2281 yy_push_state(quoted);
2282 }
2283 YY_BREAK
2284
Lev Walkinef625402005-09-05 05:17:57 +00002285case 20:
Lev Walkinf15320b2004-06-03 03:38:44 +00002286YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002287#line 173 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002288{ QAPPEND(yytext, yyleng-1); } /* Add a single quote */
2289 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002290case 21:
Lev Walkinf15320b2004-06-03 03:38:44 +00002291YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002292#line 174 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002293{ QAPPEND(yytext, yyleng); }
2294 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002295case 22:
Lev Walkinf15320b2004-06-03 03:38:44 +00002296YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002297#line 176 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002298{
2299 yy_pop_state();
2300 /* Do not append last quote:
2301 // QAPPEND(yytext, yyleng); */
2302
2303 if(asn1p_lexer_pedantic_1990
2304 && strchr(yytext, '\n')) {
2305 fprintf(stderr, "%s: "
2306 "Newlines are prohibited by ASN.1:1990\n",
2307 asn1p_lval.tv_opaque.buf);
2308 return -1;
2309 }
2310
2311 return TOK_cstring;
2312 }
2313 YY_BREAK
2314
Lev Walkinf59d0752004-08-18 04:59:12 +00002315
Lev Walkinef625402005-09-05 05:17:57 +00002316case 23:
Lev Walkinf15320b2004-06-03 03:38:44 +00002317YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002318#line 195 "asn1p_l.l"
Lev Walkinf59d0752004-08-18 04:59:12 +00002319{
2320 const char *s = "ENCODING-CONTROL";
2321 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2322 for(; p >= s; p--) unput(*p);
2323 yy_pop_state();
2324 }
2325 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002326case 24:
2327YY_RULE_SETUP
2328#line 201 "asn1p_l.l"
2329unput('D'); unput('N'); unput('E'); yy_pop_state();
2330 YY_BREAK
2331case 25:
2332YY_RULE_SETUP
2333#line 202 "asn1p_l.l"
2334
2335 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002336case 26:
2337YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002338#line 203 "asn1p_l.l"
2339
Lev Walkin2535a692005-07-02 21:42:40 +00002340 YY_BREAK
2341case 27:
2342YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002343#line 204 "asn1p_l.l"
2344/* Eat everything else */
Lev Walkin4696c742005-08-22 12:23:54 +00002345 YY_BREAK
2346case 28:
2347YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002348#line 205 "asn1p_l.l"
Lev Walkin4696c742005-08-22 12:23:54 +00002349
2350 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002351
Lev Walkin4696c742005-08-22 12:23:54 +00002352case 29:
2353YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002354#line 208 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002355{
2356 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2357 asn1p_lval.tv_str = yytext;
2358 return TOK_hstring;
2359 }
2360 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002361case 30:
Lev Walkinf15320b2004-06-03 03:38:44 +00002362YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002363#line 214 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002364{
2365 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2366 asn1p_lval.tv_str = strdup(yytext);
2367 return TOK_bstring;
2368 }
2369 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002370case 31:
Lev Walkinf15320b2004-06-03 03:38:44 +00002371YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002372#line 221 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002373{
2374 asn1p_lval.a_int = asn1p_atoi(yytext);
2375 if(errno == ERANGE)
2376 return -1;
2377 return TOK_number_negative;
2378 }
2379 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002380case 32:
2381YY_RULE_SETUP
2382#line 228 "asn1p_l.l"
2383{
2384 asn1p_lval.a_int = asn1p_atoi(yytext);
2385 if(errno == ERANGE)
2386 return -1;
2387 return TOK_number;
2388 }
2389 YY_BREAK
2390case 33:
2391YY_RULE_SETUP
2392#line 235 "asn1p_l.l"
2393{
2394 asn1p_lval.a_int = asn1p_atoi(yytext);
2395 if(errno == ERANGE)
2396 return -1;
2397 return TOK_number;
2398 }
2399 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002400case 34:
Lev Walkinf15320b2004-06-03 03:38:44 +00002401YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002402#line 242 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002403return TOK_ABSENT;
2404 YY_BREAK
Lev Walkin9c974182004-09-15 11:59:51 +00002405/*
2406ABSTRACT-SYNTAX return TOK_ABSTRACT_SYNTAX;
2407 */
Lev Walkinef625402005-09-05 05:17:57 +00002408case 35:
Lev Walkinf15320b2004-06-03 03:38:44 +00002409YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002410#line 246 "asn1p_l.l"
Lev Walkin9c974182004-09-15 11:59:51 +00002411return TOK_ALL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002412 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002413case 36:
Lev Walkinf15320b2004-06-03 03:38:44 +00002414YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002415#line 247 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002416{
2417 /* Appeared in 1990, removed in 1997 */
2418 if(TYPE_LIFETIME(1990, 1997))
2419 return TOK_ANY;
2420 fprintf(stderr, "Keyword \"%s\" at line %d "
2421 "is obsolete\n", yytext, yylineno);
2422 REJECT;
2423 }
2424 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002425case 37:
2426YY_RULE_SETUP
2427#line 255 "asn1p_l.l"
2428return TOK_APPLICATION;
2429 YY_BREAK
2430case 38:
2431YY_RULE_SETUP
2432#line 256 "asn1p_l.l"
2433return TOK_AUTOMATIC;
2434 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002435case 39:
2436YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002437#line 257 "asn1p_l.l"
2438return TOK_BEGIN;
Lev Walkin2535a692005-07-02 21:42:40 +00002439 YY_BREAK
2440case 40:
2441YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002442#line 258 "asn1p_l.l"
2443return TOK_BIT;
Lev Walkin4696c742005-08-22 12:23:54 +00002444 YY_BREAK
2445case 41:
2446YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002447#line 259 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002448{
2449 if(TYPE_LIFETIME(1994, 0))
2450 return TOK_BMPString;
2451 REJECT;
2452 }
2453 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002454case 42:
2455YY_RULE_SETUP
2456#line 264 "asn1p_l.l"
2457return TOK_BOOLEAN;
2458 YY_BREAK
2459case 43:
2460YY_RULE_SETUP
2461#line 265 "asn1p_l.l"
2462return TOK_BY;
2463 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002464case 44:
2465YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002466#line 266 "asn1p_l.l"
2467return TOK_CHARACTER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002468 YY_BREAK
2469case 45:
2470YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002471#line 267 "asn1p_l.l"
2472return TOK_CHOICE;
Lev Walkinf59d0752004-08-18 04:59:12 +00002473 YY_BREAK
2474case 46:
2475YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002476#line 268 "asn1p_l.l"
2477return TOK_CLASS;
Lev Walkinf59d0752004-08-18 04:59:12 +00002478 YY_BREAK
2479case 47:
2480YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002481#line 269 "asn1p_l.l"
2482return TOK_COMPONENT;
Lev Walkinf59d0752004-08-18 04:59:12 +00002483 YY_BREAK
2484case 48:
2485YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002486#line 270 "asn1p_l.l"
2487return TOK_COMPONENTS;
Lev Walkin2535a692005-07-02 21:42:40 +00002488 YY_BREAK
2489case 49:
2490YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002491#line 271 "asn1p_l.l"
2492return TOK_CONSTRAINED;
Lev Walkin2535a692005-07-02 21:42:40 +00002493 YY_BREAK
2494case 50:
2495YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002496#line 272 "asn1p_l.l"
2497return TOK_CONTAINING;
Lev Walkin2535a692005-07-02 21:42:40 +00002498 YY_BREAK
2499case 51:
2500YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002501#line 273 "asn1p_l.l"
2502return TOK_DEFAULT;
Lev Walkin4696c742005-08-22 12:23:54 +00002503 YY_BREAK
2504case 52:
2505YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002506#line 274 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002507{
2508 /* Appeared in 1990, removed in 1997 */
2509 if(TYPE_LIFETIME(1990, 1997))
2510 return TOK_DEFINED;
2511 fprintf(stderr, "Keyword \"%s\" at line %d "
2512 "is obsolete\n", yytext, yylineno);
2513 /* Deprecated since */
2514 REJECT;
2515 }
2516 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002517case 53:
2518YY_RULE_SETUP
2519#line 283 "asn1p_l.l"
2520return TOK_DEFINITIONS;
2521 YY_BREAK
2522case 54:
2523YY_RULE_SETUP
2524#line 284 "asn1p_l.l"
2525return TOK_EMBEDDED;
2526 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002527case 55:
2528YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002529#line 285 "asn1p_l.l"
2530return TOK_ENCODED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002531 YY_BREAK
2532case 56:
2533YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002534#line 286 "asn1p_l.l"
2535return TOK_ENCODING_CONTROL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002536 YY_BREAK
2537case 57:
2538YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002539#line 287 "asn1p_l.l"
2540return TOK_END;
Lev Walkinf15320b2004-06-03 03:38:44 +00002541 YY_BREAK
2542case 58:
2543YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002544#line 288 "asn1p_l.l"
2545return TOK_ENUMERATED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002546 YY_BREAK
2547case 59:
2548YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002549#line 289 "asn1p_l.l"
2550return TOK_EXCEPT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002551 YY_BREAK
2552case 60:
2553YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002554#line 290 "asn1p_l.l"
2555return TOK_EXPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002556 YY_BREAK
2557case 61:
2558YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002559#line 291 "asn1p_l.l"
2560return TOK_EXPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002561 YY_BREAK
2562case 62:
2563YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002564#line 292 "asn1p_l.l"
2565return TOK_EXTENSIBILITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002566 YY_BREAK
2567case 63:
2568YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002569#line 293 "asn1p_l.l"
2570return TOK_EXTERNAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002571 YY_BREAK
2572case 64:
2573YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002574#line 294 "asn1p_l.l"
2575return TOK_FALSE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002576 YY_BREAK
2577case 65:
2578YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002579#line 295 "asn1p_l.l"
2580return TOK_FROM;
Lev Walkinf15320b2004-06-03 03:38:44 +00002581 YY_BREAK
2582case 66:
2583YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002584#line 296 "asn1p_l.l"
2585return TOK_GeneralizedTime;
Lev Walkinf15320b2004-06-03 03:38:44 +00002586 YY_BREAK
2587case 67:
2588YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002589#line 297 "asn1p_l.l"
2590return TOK_GeneralString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002591 YY_BREAK
2592case 68:
2593YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002594#line 298 "asn1p_l.l"
2595return TOK_GraphicString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002596 YY_BREAK
2597case 69:
2598YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002599#line 299 "asn1p_l.l"
2600return TOK_IA5String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002601 YY_BREAK
2602case 70:
2603YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002604#line 300 "asn1p_l.l"
2605return TOK_IDENTIFIER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002606 YY_BREAK
2607case 71:
2608YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002609#line 301 "asn1p_l.l"
2610return TOK_IMPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002611 YY_BREAK
2612case 72:
2613YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002614#line 302 "asn1p_l.l"
2615return TOK_IMPLIED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002616 YY_BREAK
2617case 73:
2618YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002619#line 303 "asn1p_l.l"
2620return TOK_IMPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002621 YY_BREAK
2622case 74:
2623YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002624#line 304 "asn1p_l.l"
2625return TOK_INCLUDES;
Lev Walkinf15320b2004-06-03 03:38:44 +00002626 YY_BREAK
2627case 75:
2628YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002629#line 305 "asn1p_l.l"
2630return TOK_INSTANCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002631 YY_BREAK
2632case 76:
2633YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002634#line 306 "asn1p_l.l"
2635return TOK_INSTRUCTIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002636 YY_BREAK
2637case 77:
2638YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002639#line 307 "asn1p_l.l"
2640return TOK_INTEGER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002641 YY_BREAK
2642case 78:
2643YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002644#line 308 "asn1p_l.l"
2645return TOK_INTERSECTION;
Lev Walkinf15320b2004-06-03 03:38:44 +00002646 YY_BREAK
2647case 79:
2648YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002649#line 309 "asn1p_l.l"
2650return TOK_ISO646String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002651 YY_BREAK
2652case 80:
2653YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002654#line 310 "asn1p_l.l"
2655return TOK_MAX;
Lev Walkinf15320b2004-06-03 03:38:44 +00002656 YY_BREAK
2657case 81:
2658YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002659#line 311 "asn1p_l.l"
2660return TOK_MIN;
Lev Walkinf15320b2004-06-03 03:38:44 +00002661 YY_BREAK
2662case 82:
2663YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002664#line 312 "asn1p_l.l"
2665return TOK_MINUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002666 YY_BREAK
2667case 83:
2668YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002669#line 313 "asn1p_l.l"
2670return TOK_NULL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002671 YY_BREAK
2672case 84:
2673YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002674#line 314 "asn1p_l.l"
2675return TOK_NumericString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002676 YY_BREAK
2677case 85:
2678YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002679#line 315 "asn1p_l.l"
2680return TOK_OBJECT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002681 YY_BREAK
2682case 86:
2683YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002684#line 316 "asn1p_l.l"
2685return TOK_ObjectDescriptor;
Lev Walkinf15320b2004-06-03 03:38:44 +00002686 YY_BREAK
2687case 87:
2688YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002689#line 317 "asn1p_l.l"
2690return TOK_OCTET;
Lev Walkinf15320b2004-06-03 03:38:44 +00002691 YY_BREAK
2692case 88:
2693YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002694#line 318 "asn1p_l.l"
2695return TOK_OF;
Lev Walkinf15320b2004-06-03 03:38:44 +00002696 YY_BREAK
2697case 89:
2698YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002699#line 319 "asn1p_l.l"
2700return TOK_OPTIONAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002701 YY_BREAK
2702case 90:
2703YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002704#line 320 "asn1p_l.l"
2705return TOK_PATTERN;
Lev Walkinf15320b2004-06-03 03:38:44 +00002706 YY_BREAK
2707case 91:
2708YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002709#line 321 "asn1p_l.l"
2710return TOK_PDV;
Lev Walkinf15320b2004-06-03 03:38:44 +00002711 YY_BREAK
2712case 92:
2713YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002714#line 322 "asn1p_l.l"
2715return TOK_PLUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002716 YY_BREAK
2717case 93:
2718YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002719#line 323 "asn1p_l.l"
2720return TOK_PRESENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002721 YY_BREAK
2722case 94:
2723YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002724#line 324 "asn1p_l.l"
2725return TOK_PrintableString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002726 YY_BREAK
2727case 95:
2728YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002729#line 325 "asn1p_l.l"
2730return TOK_PRIVATE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002731 YY_BREAK
2732case 96:
2733YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002734#line 326 "asn1p_l.l"
2735return TOK_REAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002736 YY_BREAK
2737case 97:
2738YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002739#line 327 "asn1p_l.l"
2740return TOK_RELATIVE_OID;
Lev Walkinf15320b2004-06-03 03:38:44 +00002741 YY_BREAK
2742case 98:
2743YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002744#line 328 "asn1p_l.l"
2745return TOK_SEQUENCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002746 YY_BREAK
2747case 99:
2748YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002749#line 329 "asn1p_l.l"
2750return TOK_SET;
Lev Walkinf15320b2004-06-03 03:38:44 +00002751 YY_BREAK
2752case 100:
2753YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002754#line 330 "asn1p_l.l"
2755return TOK_SIZE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002756 YY_BREAK
2757case 101:
2758YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002759#line 331 "asn1p_l.l"
2760return TOK_STRING;
Lev Walkinf15320b2004-06-03 03:38:44 +00002761 YY_BREAK
2762case 102:
2763YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002764#line 332 "asn1p_l.l"
2765return TOK_SYNTAX;
Lev Walkinf59d0752004-08-18 04:59:12 +00002766 YY_BREAK
2767case 103:
2768YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002769#line 333 "asn1p_l.l"
2770return TOK_T61String;
Lev Walkinf59d0752004-08-18 04:59:12 +00002771 YY_BREAK
2772case 104:
2773YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002774#line 334 "asn1p_l.l"
2775return TOK_TAGS;
Lev Walkinf59d0752004-08-18 04:59:12 +00002776 YY_BREAK
2777case 105:
2778YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002779#line 335 "asn1p_l.l"
2780return TOK_TeletexString;
Lev Walkinf59d0752004-08-18 04:59:12 +00002781 YY_BREAK
2782case 106:
2783YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002784#line 336 "asn1p_l.l"
2785return TOK_TRUE;
Lev Walkinf59d0752004-08-18 04:59:12 +00002786 YY_BREAK
2787case 107:
2788YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002789#line 337 "asn1p_l.l"
2790return TOK_TYPE_IDENTIFIER;
Lev Walkin2535a692005-07-02 21:42:40 +00002791 YY_BREAK
2792case 108:
2793YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002794#line 338 "asn1p_l.l"
2795return TOK_UNION;
Lev Walkin2535a692005-07-02 21:42:40 +00002796 YY_BREAK
2797case 109:
2798YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002799#line 339 "asn1p_l.l"
2800return TOK_UNIQUE;
Lev Walkin2535a692005-07-02 21:42:40 +00002801 YY_BREAK
2802case 110:
2803YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002804#line 340 "asn1p_l.l"
2805return TOK_UNIVERSAL;
Lev Walkin4696c742005-08-22 12:23:54 +00002806 YY_BREAK
2807case 111:
2808YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002809#line 341 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002810{
2811 if(TYPE_LIFETIME(1994, 0))
2812 return TOK_UniversalString;
2813 REJECT;
2814 }
2815 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002816case 112:
Lev Walkinf15320b2004-06-03 03:38:44 +00002817YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002818#line 346 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002819return TOK_UTCTime;
2820 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002821case 113:
Lev Walkinf15320b2004-06-03 03:38:44 +00002822YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002823#line 347 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002824{
2825 if(TYPE_LIFETIME(1994, 0))
2826 return TOK_UTF8String;
2827 REJECT;
2828 }
2829 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002830case 114:
2831YY_RULE_SETUP
2832#line 352 "asn1p_l.l"
2833return TOK_VideotexString;
2834 YY_BREAK
2835case 115:
2836YY_RULE_SETUP
2837#line 353 "asn1p_l.l"
2838return TOK_VisibleString;
2839 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002840case 116:
2841YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002842#line 354 "asn1p_l.l"
2843return TOK_WITH;
Lev Walkin4696c742005-08-22 12:23:54 +00002844 YY_BREAK
2845case 117:
2846YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002847#line 357 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002848{
Lev Walkinf15320b2004-06-03 03:38:44 +00002849 asn1p_lval.tv_str = strdup(yytext);
2850 return TOK_typefieldreference;
2851 }
2852 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002853case 118:
Lev Walkinf15320b2004-06-03 03:38:44 +00002854YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002855#line 362 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002856{
Lev Walkinf15320b2004-06-03 03:38:44 +00002857 asn1p_lval.tv_str = strdup(yytext);
2858 return TOK_valuefieldreference;
2859 }
2860 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002861case 119:
Lev Walkinf15320b2004-06-03 03:38:44 +00002862YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002863#line 368 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002864{
Lev Walkinf15320b2004-06-03 03:38:44 +00002865 asn1p_lval.tv_str = strdup(yytext);
2866 return TOK_identifier;
2867 }
2868 YY_BREAK
2869/*
2870 * objectclassreference
2871 */
Lev Walkinef625402005-09-05 05:17:57 +00002872case 120:
Lev Walkinf15320b2004-06-03 03:38:44 +00002873YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002874#line 376 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002875{
Lev Walkinf15320b2004-06-03 03:38:44 +00002876 asn1p_lval.tv_str = strdup(yytext);
Lev Walkinf59d0752004-08-18 04:59:12 +00002877 return TOK_capitalreference;
Lev Walkinf15320b2004-06-03 03:38:44 +00002878 }
2879 YY_BREAK
2880/*
2881 * typereference, modulereference
2882 * NOTE: TOK_objectclassreference must be combined
2883 * with this token to produce true typereference.
2884 */
Lev Walkinef625402005-09-05 05:17:57 +00002885case 121:
Lev Walkinf15320b2004-06-03 03:38:44 +00002886YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002887#line 386 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002888{
Lev Walkinf15320b2004-06-03 03:38:44 +00002889 asn1p_lval.tv_str = strdup(yytext);
2890 return TOK_typereference;
2891 }
2892 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002893case 122:
Lev Walkin2535a692005-07-02 21:42:40 +00002894YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002895#line 391 "asn1p_l.l"
Lev Walkin4696c742005-08-22 12:23:54 +00002896return TOK_PPEQ;
Lev Walkinf15320b2004-06-03 03:38:44 +00002897 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002898case 123:
2899YY_RULE_SETUP
2900#line 393 "asn1p_l.l"
2901return TOK_ThreeDots;
2902 YY_BREAK
2903case 124:
2904YY_RULE_SETUP
2905#line 394 "asn1p_l.l"
2906return TOK_TwoDots;
2907 YY_BREAK
2908
Lev Walkin2535a692005-07-02 21:42:40 +00002909case 125:
Lev Walkinf15320b2004-06-03 03:38:44 +00002910YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002911#line 398 "asn1p_l.l"
2912{
2913 asn1p_lval.tv_opaque.buf = strdup(yytext);
2914 asn1p_lval.tv_opaque.len = yyleng;
2915 return TOK_opaque;
2916 }
Lev Walkin4696c742005-08-22 12:23:54 +00002917 YY_BREAK
2918case 126:
2919YY_RULE_SETUP
2920#line 404 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002921{
2922 asn1p_lval.tv_opaque.buf = strdup(yytext);
2923 asn1p_lval.tv_opaque.len = yyleng;
2924 return TOK_opaque;
2925 }
Lev Walkin4696c742005-08-22 12:23:54 +00002926 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002927case 127:
2928YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002929#line 410 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00002930{
2931 yy_pop_state();
2932 return '}';
2933 }
2934 YY_BREAK
2935
Lev Walkinef625402005-09-05 05:17:57 +00002936case 128:
Lev Walkind9574ae2005-03-24 16:22:35 +00002937YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002938#line 418 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00002939/* Ignore whitespace */
2940 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002941case 129:
Lev Walkind9574ae2005-03-24 16:22:35 +00002942YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002943#line 421 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00002944{
2945 asn1c_integer_t v1 = -1, v2 = -1;
2946 char *p;
2947 for(p = yytext; *p; p++)
2948 if(*p >= '0' && *p <= '9')
2949 { v1 = asn1p_atoi(p); break; }
2950 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
2951 for(; *p; p++) if(*p >= '0' && *p <= '9')
2952 { v2 = asn1p_atoi(p); break; }
2953 if(v1 < 0 || v1 > 7) {
2954 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
2955 "mandates 0..7 range for Tuple's TableColumn\n",
2956 yytext, yylineno);
2957 return -1;
2958 }
2959 if(v2 < 0 || v2 > 15) {
2960 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
2961 "mandates 0..15 range for Tuple's TableRow\n",
2962 yytext, yylineno);
2963 return -1;
2964 }
2965 asn1p_lval.a_int = (v1 << 4) + v2;
2966 return TOK_tuple;
2967 }
2968 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002969case 130:
Lev Walkind9574ae2005-03-24 16:22:35 +00002970YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002971#line 446 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00002972{
2973 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
2974 char *p;
2975 for(p = yytext; *p; p++)
2976 if(*p >= '0' && *p <= '9')
2977 { v1 = asn1p_atoi(p); break; }
2978 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
2979 for(; *p; p++) if(*p >= '0' && *p <= '9')
2980 { v2 = asn1p_atoi(p); break; }
2981 while(*p >= '0' && *p <= '9') p++;
2982 for(; *p; p++) if(*p >= '0' && *p <= '9')
2983 { v3 = asn1p_atoi(p); break; }
2984 while(*p >= '0' && *p <= '9') p++;
2985 for(; *p; p++) if(*p >= '0' && *p <= '9')
2986 { v4 = asn1p_atoi(p); break; }
2987 if(v1 < 0 || v1 > 127) {
2988 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
2989 "mandates 0..127 range for Quadruple's Group\n",
2990 yytext, yylineno);
2991 return -1;
2992 }
2993 if(v2 < 0 || v2 > 255) {
2994 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
2995 "mandates 0..255 range for Quadruple's Plane\n",
2996 yytext, yylineno);
2997 return -1;
2998 }
2999 if(v3 < 0 || v3 > 255) {
3000 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3001 "mandates 0..255 range for Quadruple's Row\n",
3002 yytext, yylineno);
3003 return -1;
3004 }
3005 if(v4 < 0 || v4 > 255) {
3006 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3007 "mandates 0..255 range for Quadruple's Cell\n",
3008 yytext, yylineno);
3009 return -1;
3010 }
3011 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3012 return TOK_quadruple;
3013 }
3014 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003015case 131:
Lev Walkind9574ae2005-03-24 16:22:35 +00003016YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00003017#line 490 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003018return yytext[0];
3019 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003020case 132:
Lev Walkind9574ae2005-03-24 16:22:35 +00003021YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00003022#line 492 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003023{
3024 if(TYPE_LIFETIME(1994, 0))
3025 fprintf(stderr, "ERROR: ");
3026 fprintf(stderr,
3027 "Symbol '%c' at line %d is prohibited "
3028 "by ASN.1:1994 and ASN.1:1997\n",
3029 yytext[0], yylineno);
3030 if(TYPE_LIFETIME(1994, 0))
3031 return -1;
3032 }
3033 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003034case 133:
Lev Walkinc603f102005-01-23 09:51:44 +00003035YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00003036#line 503 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003037{
3038 fprintf(stderr,
3039 "Unexpected token at line %d: \"%s\"\n",
3040 yylineno, yytext);
3041 while(YYSTATE != INITIAL)
3042 yy_pop_state();
Lev Walkin9c974182004-09-15 11:59:51 +00003043 if(0) {
3044 yy_top_state(); /* Just to use this function. */
3045 yy_fatal_error("Parse error");
3046 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003047 return -1;
3048}
3049 YY_BREAK
3050case YY_STATE_EOF(INITIAL):
3051case YY_STATE_EOF(dash_comment):
Lev Walkin2535a692005-07-02 21:42:40 +00003052case YY_STATE_EOF(idash_comment):
Lev Walkinf15320b2004-06-03 03:38:44 +00003053case YY_STATE_EOF(cpp_comment):
3054case YY_STATE_EOF(quoted):
3055case YY_STATE_EOF(opaque):
Lev Walkinf59d0752004-08-18 04:59:12 +00003056case YY_STATE_EOF(encoding_control):
Lev Walkinf15320b2004-06-03 03:38:44 +00003057case YY_STATE_EOF(with_syntax):
Lev Walkinef625402005-09-05 05:17:57 +00003058#line 516 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003059{
3060 while(YYSTATE != INITIAL)
3061 yy_pop_state();
3062 yyterminate();
3063 }
3064 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003065case 134:
Lev Walkinf15320b2004-06-03 03:38:44 +00003066YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00003067#line 523 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003068YY_FATAL_ERROR( "flex scanner jammed" );
3069 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00003070#line 3071 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00003071
3072 case YY_END_OF_BUFFER:
3073 {
3074 /* Amount of text matched not including the EOB char. */
3075 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
3076
3077 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3078 *yy_cp = yy_hold_char;
3079 YY_RESTORE_YY_MORE_OFFSET
3080
3081 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
3082 {
3083 /* We're scanning a new file or input source. It's
3084 * possible that this happened because the user
3085 * just pointed yyin at a new source and called
3086 * yylex(). If so, then we have to assure
3087 * consistency between yy_current_buffer and our
3088 * globals. Here is the right place to do so, because
3089 * this is the first action (other than possibly a
3090 * back-up) that will match for the new input source.
3091 */
3092 yy_n_chars = yy_current_buffer->yy_n_chars;
3093 yy_current_buffer->yy_input_file = yyin;
3094 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
3095 }
3096
3097 /* Note that here we test for yy_c_buf_p "<=" to the position
3098 * of the first EOB in the buffer, since yy_c_buf_p will
3099 * already have been incremented past the NUL character
3100 * (since all states make transitions on EOB to the
3101 * end-of-buffer state). Contrast this with the test
3102 * in input().
3103 */
3104 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3105 { /* This was really a NUL. */
3106 yy_state_type yy_next_state;
3107
3108 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
3109
3110 yy_current_state = yy_get_previous_state();
3111
3112 /* Okay, we're now positioned to make the NUL
3113 * transition. We couldn't have
3114 * yy_get_previous_state() go ahead and do it
3115 * for us because it doesn't know how to deal
3116 * with the possibility of jamming (and we don't
3117 * want to build jamming into it because then it
3118 * will run more slowly).
3119 */
3120
3121 yy_next_state = yy_try_NUL_trans( yy_current_state );
3122
3123 yy_bp = yytext_ptr + YY_MORE_ADJ;
3124
3125 if ( yy_next_state )
3126 {
3127 /* Consume the NUL. */
3128 yy_cp = ++yy_c_buf_p;
3129 yy_current_state = yy_next_state;
3130 goto yy_match;
3131 }
3132
3133 else
3134 {
3135 yy_cp = yy_c_buf_p;
3136 goto yy_find_action;
3137 }
3138 }
3139
3140 else switch ( yy_get_next_buffer() )
3141 {
3142 case EOB_ACT_END_OF_FILE:
3143 {
3144 yy_did_buffer_switch_on_eof = 0;
3145
3146 if ( yywrap() )
3147 {
3148 /* Note: because we've taken care in
3149 * yy_get_next_buffer() to have set up
3150 * yytext, we can now set up
3151 * yy_c_buf_p so that if some total
3152 * hoser (like flex itself) wants to
3153 * call the scanner after we return the
3154 * YY_NULL, it'll still work - another
3155 * YY_NULL will get returned.
3156 */
3157 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3158
3159 yy_act = YY_STATE_EOF(YY_START);
3160 goto do_action;
3161 }
3162
3163 else
3164 {
3165 if ( ! yy_did_buffer_switch_on_eof )
3166 YY_NEW_FILE;
3167 }
3168 break;
3169 }
3170
3171 case EOB_ACT_CONTINUE_SCAN:
3172 yy_c_buf_p =
3173 yytext_ptr + yy_amount_of_matched_text;
3174
3175 yy_current_state = yy_get_previous_state();
3176
3177 yy_cp = yy_c_buf_p;
3178 yy_bp = yytext_ptr + YY_MORE_ADJ;
3179 goto yy_match;
3180
3181 case EOB_ACT_LAST_MATCH:
3182 yy_c_buf_p =
3183 &yy_current_buffer->yy_ch_buf[yy_n_chars];
3184
3185 yy_current_state = yy_get_previous_state();
3186
3187 yy_cp = yy_c_buf_p;
3188 yy_bp = yytext_ptr + YY_MORE_ADJ;
3189 goto yy_find_action;
3190 }
3191 break;
3192 }
3193
3194 default:
3195 YY_FATAL_ERROR(
3196 "fatal flex scanner internal error--no action found" );
3197 } /* end of action switch */
3198 } /* end of scanning one token */
3199 } /* end of yylex */
3200
3201
3202/* yy_get_next_buffer - try to read in a new buffer
3203 *
3204 * Returns a code representing an action:
3205 * EOB_ACT_LAST_MATCH -
3206 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3207 * EOB_ACT_END_OF_FILE - end of file
3208 */
3209
3210static int yy_get_next_buffer()
3211 {
3212 register char *dest = yy_current_buffer->yy_ch_buf;
3213 register char *source = yytext_ptr;
3214 register int number_to_move, i;
3215 int ret_val;
3216
3217 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3218 YY_FATAL_ERROR(
3219 "fatal flex scanner internal error--end of buffer missed" );
3220
3221 if ( yy_current_buffer->yy_fill_buffer == 0 )
3222 { /* Don't try to fill the buffer, so this is an EOF. */
3223 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3224 {
3225 /* We matched a single character, the EOB, so
3226 * treat this as a final EOF.
3227 */
3228 return EOB_ACT_END_OF_FILE;
3229 }
3230
3231 else
3232 {
3233 /* We matched some text prior to the EOB, first
3234 * process it.
3235 */
3236 return EOB_ACT_LAST_MATCH;
3237 }
3238 }
3239
3240 /* Try to read more data. */
3241
3242 /* First move last chars to start of buffer. */
3243 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3244
3245 for ( i = 0; i < number_to_move; ++i )
3246 *(dest++) = *(source++);
3247
3248 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3249 /* don't do the read, it's not guaranteed to return an EOF,
3250 * just force an EOF
3251 */
3252 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3253
3254 else
3255 {
3256 int num_to_read =
3257 yy_current_buffer->yy_buf_size - number_to_move - 1;
3258
3259 while ( num_to_read <= 0 )
3260 { /* Not enough room in the buffer - grow it. */
3261#ifdef YY_USES_REJECT
3262 YY_FATAL_ERROR(
3263"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3264#else
3265
3266 /* just a shorter name for the current buffer */
3267 YY_BUFFER_STATE b = yy_current_buffer;
3268
3269 int yy_c_buf_p_offset =
3270 (int) (yy_c_buf_p - b->yy_ch_buf);
3271
3272 if ( b->yy_is_our_buffer )
3273 {
3274 int new_size = b->yy_buf_size * 2;
3275
3276 if ( new_size <= 0 )
3277 b->yy_buf_size += b->yy_buf_size / 8;
3278 else
3279 b->yy_buf_size *= 2;
3280
3281 b->yy_ch_buf = (char *)
3282 /* Include room in for 2 EOB chars. */
3283 yy_flex_realloc( (void *) b->yy_ch_buf,
3284 b->yy_buf_size + 2 );
3285 }
3286 else
3287 /* Can't grow it, we don't own it. */
3288 b->yy_ch_buf = 0;
3289
3290 if ( ! b->yy_ch_buf )
3291 YY_FATAL_ERROR(
3292 "fatal error - scanner input buffer overflow" );
3293
3294 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3295
3296 num_to_read = yy_current_buffer->yy_buf_size -
3297 number_to_move - 1;
3298#endif
3299 }
3300
3301 if ( num_to_read > YY_READ_BUF_SIZE )
3302 num_to_read = YY_READ_BUF_SIZE;
3303
3304 /* Read in more data. */
3305 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3306 yy_n_chars, num_to_read );
3307
3308 yy_current_buffer->yy_n_chars = yy_n_chars;
3309 }
3310
3311 if ( yy_n_chars == 0 )
3312 {
3313 if ( number_to_move == YY_MORE_ADJ )
3314 {
3315 ret_val = EOB_ACT_END_OF_FILE;
3316 yyrestart( yyin );
3317 }
3318
3319 else
3320 {
3321 ret_val = EOB_ACT_LAST_MATCH;
3322 yy_current_buffer->yy_buffer_status =
3323 YY_BUFFER_EOF_PENDING;
3324 }
3325 }
3326
3327 else
3328 ret_val = EOB_ACT_CONTINUE_SCAN;
3329
3330 yy_n_chars += number_to_move;
3331 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3332 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3333
3334 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3335
3336 return ret_val;
3337 }
3338
3339
3340/* yy_get_previous_state - get the state just before the EOB char was reached */
3341
3342static yy_state_type yy_get_previous_state()
3343 {
3344 register yy_state_type yy_current_state;
3345 register char *yy_cp;
3346
3347 yy_current_state = yy_start;
3348 yy_state_ptr = yy_state_buf;
3349 *yy_state_ptr++ = yy_current_state;
3350
3351 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3352 {
3353 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3354 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3355 {
3356 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinef625402005-09-05 05:17:57 +00003357 if ( yy_current_state >= 740 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003358 yy_c = yy_meta[(unsigned int) yy_c];
3359 }
3360 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3361 *yy_state_ptr++ = yy_current_state;
3362 }
3363
3364 return yy_current_state;
3365 }
3366
3367
3368/* yy_try_NUL_trans - try to make a transition on the NUL character
3369 *
3370 * synopsis
3371 * next_state = yy_try_NUL_trans( current_state );
3372 */
3373
3374#ifdef YY_USE_PROTOS
3375static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3376#else
3377static yy_state_type yy_try_NUL_trans( yy_current_state )
3378yy_state_type yy_current_state;
3379#endif
3380 {
3381 register int yy_is_jam;
3382
3383 register YY_CHAR yy_c = 1;
3384 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3385 {
3386 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkinef625402005-09-05 05:17:57 +00003387 if ( yy_current_state >= 740 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003388 yy_c = yy_meta[(unsigned int) yy_c];
3389 }
3390 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkinef625402005-09-05 05:17:57 +00003391 yy_is_jam = (yy_current_state == 739);
Lev Walkinf15320b2004-06-03 03:38:44 +00003392 if ( ! yy_is_jam )
3393 *yy_state_ptr++ = yy_current_state;
3394
3395 return yy_is_jam ? 0 : yy_current_state;
3396 }
3397
3398
3399#ifndef YY_NO_UNPUT
3400#ifdef YY_USE_PROTOS
3401static void yyunput( int c, register char *yy_bp )
3402#else
3403static void yyunput( c, yy_bp )
3404int c;
3405register char *yy_bp;
3406#endif
3407 {
3408 register char *yy_cp = yy_c_buf_p;
3409
3410 /* undo effects of setting up yytext */
3411 *yy_cp = yy_hold_char;
3412
3413 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3414 { /* need to shift things up to make room */
3415 /* +2 for EOB chars. */
3416 register int number_to_move = yy_n_chars + 2;
3417 register char *dest = &yy_current_buffer->yy_ch_buf[
3418 yy_current_buffer->yy_buf_size + 2];
3419 register char *source =
3420 &yy_current_buffer->yy_ch_buf[number_to_move];
3421
3422 while ( source > yy_current_buffer->yy_ch_buf )
3423 *--dest = *--source;
3424
3425 yy_cp += (int) (dest - source);
3426 yy_bp += (int) (dest - source);
3427 yy_current_buffer->yy_n_chars =
3428 yy_n_chars = yy_current_buffer->yy_buf_size;
3429
3430 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3431 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3432 }
3433
3434 *--yy_cp = (char) c;
3435
3436 if ( c == '\n' )
3437 --yylineno;
3438
3439 yytext_ptr = yy_bp;
3440 yy_hold_char = *yy_cp;
3441 yy_c_buf_p = yy_cp;
3442 }
3443#endif /* ifndef YY_NO_UNPUT */
3444
3445
3446#ifdef __cplusplus
3447static int yyinput()
3448#else
3449static int input()
3450#endif
3451 {
3452 int c;
3453
3454 *yy_c_buf_p = yy_hold_char;
3455
3456 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3457 {
3458 /* yy_c_buf_p now points to the character we want to return.
3459 * If this occurs *before* the EOB characters, then it's a
3460 * valid NUL; if not, then we've hit the end of the buffer.
3461 */
3462 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3463 /* This was really a NUL. */
3464 *yy_c_buf_p = '\0';
3465
3466 else
3467 { /* need more input */
3468 int offset = yy_c_buf_p - yytext_ptr;
3469 ++yy_c_buf_p;
3470
3471 switch ( yy_get_next_buffer() )
3472 {
3473 case EOB_ACT_LAST_MATCH:
3474 /* This happens because yy_g_n_b()
3475 * sees that we've accumulated a
3476 * token and flags that we need to
3477 * try matching the token before
3478 * proceeding. But for input(),
3479 * there's no matching to consider.
3480 * So convert the EOB_ACT_LAST_MATCH
3481 * to EOB_ACT_END_OF_FILE.
3482 */
3483
3484 /* Reset buffer status. */
3485 yyrestart( yyin );
3486
3487 /* fall through */
3488
3489 case EOB_ACT_END_OF_FILE:
3490 {
3491 if ( yywrap() )
3492 return EOF;
3493
3494 if ( ! yy_did_buffer_switch_on_eof )
3495 YY_NEW_FILE;
3496#ifdef __cplusplus
3497 return yyinput();
3498#else
3499 return input();
3500#endif
3501 }
3502
3503 case EOB_ACT_CONTINUE_SCAN:
3504 yy_c_buf_p = yytext_ptr + offset;
3505 break;
3506 }
3507 }
3508 }
3509
3510 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3511 *yy_c_buf_p = '\0'; /* preserve yytext */
3512 yy_hold_char = *++yy_c_buf_p;
3513
3514 if ( c == '\n' )
3515 ++yylineno;
3516
3517 return c;
3518 }
3519
3520
3521#ifdef YY_USE_PROTOS
3522void yyrestart( FILE *input_file )
3523#else
3524void yyrestart( input_file )
3525FILE *input_file;
3526#endif
3527 {
3528 if ( ! yy_current_buffer )
3529 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3530
3531 yy_init_buffer( yy_current_buffer, input_file );
3532 yy_load_buffer_state();
3533 }
3534
3535
3536#ifdef YY_USE_PROTOS
3537void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3538#else
3539void yy_switch_to_buffer( new_buffer )
3540YY_BUFFER_STATE new_buffer;
3541#endif
3542 {
3543 if ( yy_current_buffer == new_buffer )
3544 return;
3545
3546 if ( yy_current_buffer )
3547 {
3548 /* Flush out information for old buffer. */
3549 *yy_c_buf_p = yy_hold_char;
3550 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3551 yy_current_buffer->yy_n_chars = yy_n_chars;
3552 }
3553
3554 yy_current_buffer = new_buffer;
3555 yy_load_buffer_state();
3556
3557 /* We don't actually know whether we did this switch during
3558 * EOF (yywrap()) processing, but the only time this flag
3559 * is looked at is after yywrap() is called, so it's safe
3560 * to go ahead and always set it.
3561 */
3562 yy_did_buffer_switch_on_eof = 1;
3563 }
3564
3565
3566#ifdef YY_USE_PROTOS
3567void yy_load_buffer_state( void )
3568#else
3569void yy_load_buffer_state()
3570#endif
3571 {
3572 yy_n_chars = yy_current_buffer->yy_n_chars;
3573 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3574 yyin = yy_current_buffer->yy_input_file;
3575 yy_hold_char = *yy_c_buf_p;
3576 }
3577
3578
3579#ifdef YY_USE_PROTOS
3580YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3581#else
3582YY_BUFFER_STATE yy_create_buffer( file, size )
3583FILE *file;
3584int size;
3585#endif
3586 {
3587 YY_BUFFER_STATE b;
3588
3589 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3590 if ( ! b )
3591 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3592
3593 b->yy_buf_size = size;
3594
3595 /* yy_ch_buf has to be 2 characters longer than the size given because
3596 * we need to put in 2 end-of-buffer characters.
3597 */
3598 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3599 if ( ! b->yy_ch_buf )
3600 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3601
3602 b->yy_is_our_buffer = 1;
3603
3604 yy_init_buffer( b, file );
3605
3606 return b;
3607 }
3608
3609
3610#ifdef YY_USE_PROTOS
3611void yy_delete_buffer( YY_BUFFER_STATE b )
3612#else
3613void yy_delete_buffer( b )
3614YY_BUFFER_STATE b;
3615#endif
3616 {
3617 if ( ! b )
3618 return;
3619
3620 if ( b == yy_current_buffer )
3621 yy_current_buffer = (YY_BUFFER_STATE) 0;
3622
3623 if ( b->yy_is_our_buffer )
3624 yy_flex_free( (void *) b->yy_ch_buf );
3625
3626 yy_flex_free( (void *) b );
3627 }
3628
3629
3630#ifndef YY_ALWAYS_INTERACTIVE
3631#ifndef YY_NEVER_INTERACTIVE
3632extern int isatty YY_PROTO(( int ));
3633#endif
3634#endif
3635
3636#ifdef YY_USE_PROTOS
3637void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3638#else
3639void yy_init_buffer( b, file )
3640YY_BUFFER_STATE b;
3641FILE *file;
3642#endif
3643
3644
3645 {
3646 yy_flush_buffer( b );
3647
3648 b->yy_input_file = file;
3649 b->yy_fill_buffer = 1;
3650
3651#if YY_ALWAYS_INTERACTIVE
3652 b->yy_is_interactive = 1;
3653#else
3654#if YY_NEVER_INTERACTIVE
3655 b->yy_is_interactive = 0;
3656#else
3657 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3658#endif
3659#endif
3660 }
3661
3662
3663#ifdef YY_USE_PROTOS
3664void yy_flush_buffer( YY_BUFFER_STATE b )
3665#else
3666void yy_flush_buffer( b )
3667YY_BUFFER_STATE b;
3668#endif
3669
3670 {
3671 if ( ! b )
3672 return;
3673
3674 b->yy_n_chars = 0;
3675
3676 /* We always need two end-of-buffer characters. The first causes
3677 * a transition to the end-of-buffer state. The second causes
3678 * a jam in that state.
3679 */
3680 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3681 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3682
3683 b->yy_buf_pos = &b->yy_ch_buf[0];
3684
3685 b->yy_at_bol = 1;
3686 b->yy_buffer_status = YY_BUFFER_NEW;
3687
3688 if ( b == yy_current_buffer )
3689 yy_load_buffer_state();
3690 }
3691
3692
3693#ifndef YY_NO_SCAN_BUFFER
3694#ifdef YY_USE_PROTOS
3695YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3696#else
3697YY_BUFFER_STATE yy_scan_buffer( base, size )
3698char *base;
3699yy_size_t size;
3700#endif
3701 {
3702 YY_BUFFER_STATE b;
3703
3704 if ( size < 2 ||
3705 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3706 base[size-1] != YY_END_OF_BUFFER_CHAR )
3707 /* They forgot to leave room for the EOB's. */
3708 return 0;
3709
3710 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3711 if ( ! b )
3712 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3713
3714 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3715 b->yy_buf_pos = b->yy_ch_buf = base;
3716 b->yy_is_our_buffer = 0;
3717 b->yy_input_file = 0;
3718 b->yy_n_chars = b->yy_buf_size;
3719 b->yy_is_interactive = 0;
3720 b->yy_at_bol = 1;
3721 b->yy_fill_buffer = 0;
3722 b->yy_buffer_status = YY_BUFFER_NEW;
3723
3724 yy_switch_to_buffer( b );
3725
3726 return b;
3727 }
3728#endif
3729
3730
3731#ifndef YY_NO_SCAN_STRING
3732#ifdef YY_USE_PROTOS
3733YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3734#else
3735YY_BUFFER_STATE yy_scan_string( yy_str )
3736yyconst char *yy_str;
3737#endif
3738 {
3739 int len;
3740 for ( len = 0; yy_str[len]; ++len )
3741 ;
3742
3743 return yy_scan_bytes( yy_str, len );
3744 }
3745#endif
3746
3747
3748#ifndef YY_NO_SCAN_BYTES
3749#ifdef YY_USE_PROTOS
3750YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3751#else
3752YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3753yyconst char *bytes;
3754int len;
3755#endif
3756 {
3757 YY_BUFFER_STATE b;
3758 char *buf;
3759 yy_size_t n;
3760 int i;
3761
3762 /* Get memory for full buffer, including space for trailing EOB's. */
3763 n = len + 2;
3764 buf = (char *) yy_flex_alloc( n );
3765 if ( ! buf )
3766 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3767
3768 for ( i = 0; i < len; ++i )
3769 buf[i] = bytes[i];
3770
3771 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3772
3773 b = yy_scan_buffer( buf, n );
3774 if ( ! b )
3775 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3776
3777 /* It's okay to grow etc. this buffer, and we should throw it
3778 * away when we're done.
3779 */
3780 b->yy_is_our_buffer = 1;
3781
3782 return b;
3783 }
3784#endif
3785
3786
3787#ifndef YY_NO_PUSH_STATE
3788#ifdef YY_USE_PROTOS
3789static void yy_push_state( int new_state )
3790#else
3791static void yy_push_state( new_state )
3792int new_state;
3793#endif
3794 {
3795 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3796 {
3797 yy_size_t new_size;
3798
3799 yy_start_stack_depth += YY_START_STACK_INCR;
3800 new_size = yy_start_stack_depth * sizeof( int );
3801
3802 if ( ! yy_start_stack )
3803 yy_start_stack = (int *) yy_flex_alloc( new_size );
3804
3805 else
3806 yy_start_stack = (int *) yy_flex_realloc(
3807 (void *) yy_start_stack, new_size );
3808
3809 if ( ! yy_start_stack )
3810 YY_FATAL_ERROR(
3811 "out of memory expanding start-condition stack" );
3812 }
3813
3814 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3815
3816 BEGIN(new_state);
3817 }
3818#endif
3819
3820
3821#ifndef YY_NO_POP_STATE
3822static void yy_pop_state()
3823 {
3824 if ( --yy_start_stack_ptr < 0 )
3825 YY_FATAL_ERROR( "start-condition stack underflow" );
3826
3827 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3828 }
3829#endif
3830
3831
3832#ifndef YY_NO_TOP_STATE
3833static int yy_top_state()
3834 {
3835 return yy_start_stack[yy_start_stack_ptr - 1];
3836 }
3837#endif
3838
3839#ifndef YY_EXIT_FAILURE
3840#define YY_EXIT_FAILURE 2
3841#endif
3842
3843#ifdef YY_USE_PROTOS
3844static void yy_fatal_error( yyconst char msg[] )
3845#else
3846static void yy_fatal_error( msg )
3847char msg[];
3848#endif
3849 {
3850 (void) fprintf( stderr, "%s\n", msg );
3851 exit( YY_EXIT_FAILURE );
3852 }
3853
3854
3855
3856/* Redefine yyless() so it works in section 3 code. */
3857
3858#undef yyless
3859#define yyless(n) \
3860 do \
3861 { \
3862 /* Undo effects of setting up yytext. */ \
3863 yytext[yyleng] = yy_hold_char; \
3864 yy_c_buf_p = yytext + n; \
3865 yy_hold_char = *yy_c_buf_p; \
3866 *yy_c_buf_p = '\0'; \
3867 yyleng = n; \
3868 } \
3869 while ( 0 )
3870
3871
3872/* Internal utility routines. */
3873
3874#ifndef yytext_ptr
3875#ifdef YY_USE_PROTOS
3876static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3877#else
3878static void yy_flex_strncpy( s1, s2, n )
3879char *s1;
3880yyconst char *s2;
3881int n;
3882#endif
3883 {
3884 register int i;
3885 for ( i = 0; i < n; ++i )
3886 s1[i] = s2[i];
3887 }
3888#endif
3889
3890#ifdef YY_NEED_STRLEN
3891#ifdef YY_USE_PROTOS
3892static int yy_flex_strlen( yyconst char *s )
3893#else
3894static int yy_flex_strlen( s )
3895yyconst char *s;
3896#endif
3897 {
3898 register int n;
3899 for ( n = 0; s[n]; ++n )
3900 ;
3901
3902 return n;
3903 }
3904#endif
3905
3906
3907#ifdef YY_USE_PROTOS
3908static void *yy_flex_alloc( yy_size_t size )
3909#else
3910static void *yy_flex_alloc( size )
3911yy_size_t size;
3912#endif
3913 {
3914 return (void *) malloc( size );
3915 }
3916
3917#ifdef YY_USE_PROTOS
3918static void *yy_flex_realloc( void *ptr, yy_size_t size )
3919#else
3920static void *yy_flex_realloc( ptr, size )
3921void *ptr;
3922yy_size_t size;
3923#endif
3924 {
3925 /* The cast to (char *) in the following accommodates both
3926 * implementations that use char* generic pointers, and those
3927 * that use void* generic pointers. It works with the latter
3928 * because both ANSI C and C++ allow castless assignment from
3929 * any pointer type to void*, and deal with argument conversions
3930 * as though doing an assignment.
3931 */
3932 return (void *) realloc( (char *) ptr, size );
3933 }
3934
3935#ifdef YY_USE_PROTOS
3936static void yy_flex_free( void *ptr )
3937#else
3938static void yy_flex_free( ptr )
3939void *ptr;
3940#endif
3941 {
3942 free( ptr );
3943 }
3944
3945#if YY_MAIN
3946int main()
3947 {
3948 yylex();
3949 return 0;
3950 }
3951#endif
Lev Walkinef625402005-09-05 05:17:57 +00003952#line 523 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003953
3954
3955/*
3956 * Very dirty but wonderful hack allowing to rule states from within .y file.
3957 */
Lev Walkinf59d0752004-08-18 04:59:12 +00003958void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
Lev Walkinf15320b2004-06-03 03:38:44 +00003959
3960/*
3961 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
3962 */
Lev Walkinf59d0752004-08-18 04:59:12 +00003963void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
3964
3965/* Yet another */
3966void asn1p_lexer_hack_push_encoding_control() {
3967 yy_push_state(encoding_control);
Lev Walkinf15320b2004-06-03 03:38:44 +00003968}
3969
Lev Walkind21c5052004-09-29 13:18:09 +00003970static asn1c_integer_t
Lev Walkinf15320b2004-06-03 03:38:44 +00003971asn1p_atoi(char *ptr) {
Lev Walkind21c5052004-09-29 13:18:09 +00003972 asn1c_integer_t value;
Lev Walkinf15320b2004-06-03 03:38:44 +00003973 errno = 0; /* Clear the error code */
3974
3975 if(sizeof(value) <= sizeof(int)) {
3976 value = strtol(ptr, 0, 10);
3977 } else {
3978#ifdef HAVE_STRTOIMAX
3979 value = strtoimax(ptr, 0, 10);
3980#elif HAVE_STRTOLL
3981 value = strtoll(ptr, 0, 10);
3982#else
3983 value = strtol(ptr, 0, 10);
3984#endif
3985 }
3986
3987 if(errno == ERANGE) {
3988 fprintf(stderr,
3989 "Value \"%s\" at line %d is too large "
Lev Walkin129a79e2005-04-05 08:46:22 +00003990 "for this compiler! Please contact the asn1c author.\n",
Lev Walkinf15320b2004-06-03 03:38:44 +00003991 ptr, yylineno);
3992 errno = ERANGE; /* Restore potentially clobbered errno */
3993 }
3994
3995 return value;
3996}
3997