blob: b57fd7e5cec0a9831d150a37fe47e82fcafe2d0d [file] [log] [blame]
vlmfa67ddc2004-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
vlm9283dbe2004-08-18 04:59:12 +000019#line 20 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +000020/* A lexical scanner generated by flex */
21
22/* Scanner skeleton version:
23 * $Header$
vlme745fcd2006-09-05 16:18:34 +000024 * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.8 2004/01/06 19:03:44 nectar Exp $
vlmfa67ddc2004-06-03 03:38:44 +000025 */
26
vlme745fcd2006-09-05 16:18:34 +000027#if defined(__FreeBSD__)
28#include <sys/cdefs.h>
29#else
30#define __unused
31#endif
32
vlmfa67ddc2004-06-03 03:38:44 +000033#define FLEX_SCANNER
34#define YY_FLEX_MAJOR_VERSION 2
35#define YY_FLEX_MINOR_VERSION 5
36
37#include <stdio.h>
vlm0c6d3812006-03-21 03:40:38 +000038
vlmfa67ddc2004-06-03 03:38:44 +000039
40/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
41#ifdef c_plusplus
42#ifndef __cplusplus
43#define __cplusplus
44#endif
45#endif
46
47
48#ifdef __cplusplus
49
50#include <stdlib.h>
51#include <unistd.h>
52
53/* Use prototypes in function declarations. */
54#define YY_USE_PROTOS
55
56/* The "const" storage-class-modifier is valid. */
57#define YY_USE_CONST
58
59#else /* ! __cplusplus */
60
61#if __STDC__
62
63#define YY_USE_PROTOS
64#define YY_USE_CONST
65
66#endif /* __STDC__ */
67#endif /* ! __cplusplus */
68
69#ifdef __TURBOC__
70 #pragma warn -rch
71 #pragma warn -use
72#include <io.h>
73#include <stdlib.h>
74#define YY_USE_CONST
75#define YY_USE_PROTOS
76#endif
77
78#ifdef YY_USE_CONST
79#define yyconst const
80#else
81#define yyconst
82#endif
83
84
85#ifdef YY_USE_PROTOS
86#define YY_PROTO(proto) proto
87#else
88#define YY_PROTO(proto) ()
89#endif
90
91/* Returned upon end-of-file. */
92#define YY_NULL 0
93
94/* Promotes a possibly negative, possibly signed char to an unsigned
95 * integer for use as an array index. If the signed char is negative,
96 * we want to instead treat it as an 8-bit unsigned char, hence the
97 * double cast.
98 */
99#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
100
101/* Enter a start condition. This macro really ought to take a parameter,
102 * but we do it the disgusting crufty way forced on us by the ()-less
103 * definition of BEGIN.
104 */
105#define BEGIN yy_start = 1 + 2 *
106
107/* Translate the current start state into a value that can be later handed
108 * to BEGIN to return to the state. The YYSTATE alias is for lex
109 * compatibility.
110 */
111#define YY_START ((yy_start - 1) / 2)
112#define YYSTATE YY_START
113
114/* Action number for EOF rule of a given start state. */
115#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
116
117/* Special action meaning "start processing a new file". */
118#define YY_NEW_FILE yyrestart( yyin )
119
120#define YY_END_OF_BUFFER_CHAR 0
121
122/* Size of default input buffer. */
123#define YY_BUF_SIZE 16384
124
125typedef struct yy_buffer_state *YY_BUFFER_STATE;
126
127extern int yyleng;
128extern FILE *yyin, *yyout;
129
130#define EOB_ACT_CONTINUE_SCAN 0
131#define EOB_ACT_END_OF_FILE 1
132#define EOB_ACT_LAST_MATCH 2
133
134/* The funky do-while in the following #define is used to turn the definition
135 * int a single C statement (which needs a semi-colon terminator). This
136 * avoids problems with code like:
137 *
138 * if ( condition_holds )
139 * yyless( 5 );
140 * else
141 * do_something_else();
142 *
143 * Prior to using the do-while the compiler would get upset at the
144 * "else" because it interpreted the "if" statement as being all
145 * done when it reached the ';' after the yyless() call.
146 */
147
148/* Return all but the first 'n' matched characters back to the input stream. */
149
150#define yyless(n) \
151 do \
152 { \
153 /* Undo effects of setting up yytext. */ \
154 *yy_cp = yy_hold_char; \
155 YY_RESTORE_YY_MORE_OFFSET \
156 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
157 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
158 } \
159 while ( 0 )
160
161#define unput(c) yyunput( c, yytext_ptr )
162
163/* The following is because we cannot portably get our hands on size_t
164 * (without autoconf's help, which isn't available because we want
165 * flex-generated scanners to compile on their own).
166 */
167typedef unsigned int yy_size_t;
168
169
170struct yy_buffer_state
171 {
172 FILE *yy_input_file;
173
174 char *yy_ch_buf; /* input buffer */
175 char *yy_buf_pos; /* current position in input buffer */
176
177 /* Size of input buffer in bytes, not including room for EOB
178 * characters.
179 */
180 yy_size_t yy_buf_size;
181
182 /* Number of characters read into yy_ch_buf, not including EOB
183 * characters.
184 */
185 int yy_n_chars;
186
187 /* Whether we "own" the buffer - i.e., we know we created it,
188 * and can realloc() it to grow it, and should free() it to
189 * delete it.
190 */
191 int yy_is_our_buffer;
192
193 /* Whether this is an "interactive" input source; if so, and
194 * if we're using stdio for input, then we want to use getc()
195 * instead of fread(), to make sure we stop fetching input after
196 * each newline.
197 */
198 int yy_is_interactive;
199
200 /* Whether we're considered to be at the beginning of a line.
201 * If so, '^' rules will be active on the next match, otherwise
202 * not.
203 */
204 int yy_at_bol;
205
206 /* Whether to try to fill the input buffer when we reach the
207 * end of it.
208 */
209 int yy_fill_buffer;
210
211 int yy_buffer_status;
212#define YY_BUFFER_NEW 0
213#define YY_BUFFER_NORMAL 1
214 /* When an EOF's been seen but there's still some text to process
215 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
216 * shouldn't try reading from the input source any more. We might
217 * still have a bunch of tokens to match, though, because of
218 * possible backing-up.
219 *
220 * When we actually see the EOF, we change the status to "new"
221 * (via yyrestart()), so that the user can continue scanning by
222 * just pointing yyin at a new input file.
223 */
224#define YY_BUFFER_EOF_PENDING 2
225 };
226
227static YY_BUFFER_STATE yy_current_buffer = 0;
228
229/* We provide macros for accessing buffer states in case in the
230 * future we want to put the buffer states in a more general
231 * "scanner state".
232 */
233#define YY_CURRENT_BUFFER yy_current_buffer
234
235
236/* yy_hold_char holds the character lost when yytext is formed. */
237static char yy_hold_char;
238
239static int yy_n_chars; /* number of characters read into yy_ch_buf */
240
241
242int yyleng;
243
244/* Points to current character in buffer. */
245static char *yy_c_buf_p = (char *) 0;
246static int yy_init = 1; /* whether we need to initialize */
247static int yy_start = 0; /* start state number */
248
249/* Flag which is used to allow yywrap()'s to do buffer switches
250 * instead of setting up a fresh yyin. A bit of a hack ...
251 */
252static int yy_did_buffer_switch_on_eof;
253
254void yyrestart YY_PROTO(( FILE *input_file ));
255
256void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
257void yy_load_buffer_state YY_PROTO(( void ));
258YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
259void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
260void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
261void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
262#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
263
264YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
265YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
266YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
267
268static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
vlme745fcd2006-09-05 16:18:34 +0000269static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused;
vlmfa67ddc2004-06-03 03:38:44 +0000270static void yy_flex_free YY_PROTO(( void * ));
271
272#define yy_new_buffer yy_create_buffer
273
274#define yy_set_interactive(is_interactive) \
275 { \
276 if ( ! yy_current_buffer ) \
277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278 yy_current_buffer->yy_is_interactive = is_interactive; \
279 }
280
281#define yy_set_bol(at_bol) \
282 { \
283 if ( ! yy_current_buffer ) \
284 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
285 yy_current_buffer->yy_at_bol = at_bol; \
286 }
287
288#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
289
290
291#define YY_USES_REJECT
292
293#define yywrap() 1
294#define YY_SKIP_YYWRAP
295
296#define FLEX_DEBUG
297typedef unsigned char YY_CHAR;
298FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
299typedef int yy_state_type;
300
301#define FLEX_DEBUG
302extern int yylineno;
303int yylineno = 1;
304extern char *yytext;
305#define yytext_ptr yytext
306
307static yy_state_type yy_get_previous_state YY_PROTO(( void ));
308static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
309static int yy_get_next_buffer YY_PROTO(( void ));
310static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
311
312/* Done after the current pattern has been matched and before the
313 * corresponding action - sets up yytext.
314 */
315#define YY_DO_BEFORE_ACTION \
316 yytext_ptr = yy_bp; \
317 yyleng = (int) (yy_cp - yy_bp); \
318 yy_hold_char = *yy_cp; \
319 *yy_cp = '\0'; \
320 yy_c_buf_p = yy_cp;
321
vlme745fcd2006-09-05 16:18:34 +0000322#define YY_NUM_RULES 138
323#define YY_END_OF_BUFFER 139
324static yyconst short int yy_acclist[1264] =
vlmfa67ddc2004-06-03 03:38:44 +0000325 { 0,
vlme745fcd2006-09-05 16:18:34 +0000326 139, 137, 138, 132, 137, 138, 132, 138, 135, 137,
327 138, 19, 137, 138, 135, 137, 138, 137, 138, 135,
328 137, 138, 137, 138, 137, 138, 135, 137, 138, 137,
329 138, 33, 137, 138, 32, 137, 138, 135, 137, 138,
330 137, 138, 120, 121, 137, 138, 120, 121, 137, 138,
331 120, 121, 137, 138, 120, 121, 137, 138, 120, 121,
332 137, 138, 120, 121, 137, 138, 120, 121, 137, 138,
333 120, 121, 137, 138, 120, 121, 137, 138, 120, 121,
334 137, 138, 120, 121, 137, 138, 120, 121, 137, 138,
335 120, 121, 137, 138, 120, 121, 137, 138, 120, 121,
vlmfa67ddc2004-06-03 03:38:44 +0000336
vlme745fcd2006-09-05 16:18:34 +0000337 137, 138, 120, 121, 137, 138, 120, 121, 137, 138,
338 120, 121, 137, 138, 120, 121, 137, 138, 119, 137,
339 138, 135, 137, 138, 9, 137, 138, 6, 138, 6,
340 137, 138, 8, 137, 138, 8, 137, 138, 11, 13,
341 137, 138, 11, 138, 13, 137, 138, 13, 137, 138,
342 13, 137, 138, 21, 137, 138, 21, 138, 22, 137,
343 138, 16, 137, 138, 16, 138, 18, 137, 138, 18,
344 137, 138, 14, 137, 138, 15, 137, 138, 25, 27,
345 137, 138, 27, 137, 138, 28, 138, 25, 26, 27,
346 137, 138, 25, 26, 27, 137, 138, 130, 137, 138,
vlmfa67ddc2004-06-03 03:38:44 +0000347
vlme745fcd2006-09-05 16:18:34 +0000348 130, 138, 137, 138, 126, 137, 138, 137, 138, 137,
349 138, 125, 137, 138, 128, 137, 138, 129, 137, 138,
350 127, 137, 138, 131, 137, 138, 132, 19, 19, 117,
351 118, 5, 31, 124, 10, 34, 32, 34, 120, 121,
352 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
353 121, 120, 121, 120, 121, 120, 121, 120, 121, 44,
354 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
355 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
356 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
357 120, 121, 120, 121, 120, 121, 120, 121, 121, 120,
vlm2c8c44d2005-03-24 16:22:35 +0000358
vlme745fcd2006-09-05 16:18:34 +0000359 121, 120, 121, 89, 120, 121, 120, 121, 121, 120,
360 121, 120, 121, 120, 121, 120, 121, 121, 120, 121,
361 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
362 120, 121, 120, 121, 121, 120, 121, 120, 121, 121,
363 121, 120, 121, 119, 9, 7, 7, 12, 21, 20,
364 16, 25, 25, 26, 25, 26, 130, 5, 125, 136,
365 117, 118, 31, 34, 123, 34, 122, 120, 121, 121,
366 120, 121, 36, 120, 121, 37, 120, 121, 120, 121,
367 120, 121, 120, 121, 41, 120, 121, 120, 121, 120,
368 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
vlm2c8c44d2005-03-24 16:22:35 +0000369
vlme745fcd2006-09-05 16:18:34 +0000370 121, 120, 121, 120, 121, 120, 121, 58, 120, 121,
371 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
372 120, 121, 121, 121, 120, 121, 120, 121, 120, 121,
373 120, 121, 120, 121, 120, 121, 120, 121, 81, 120,
374 121, 82, 120, 121, 120, 121, 121, 120, 121, 120,
375 121, 120, 121, 121, 120, 121, 92, 120, 121, 120,
376 121, 120, 121, 120, 121, 121, 120, 121, 120, 121,
377 120, 121, 100, 120, 121, 120, 121, 120, 121, 120,
378 121, 120, 121, 120, 121, 120, 121, 121, 120, 121,
379 120, 121, 120, 121, 121, 121, 121, 120, 121, 119,
vlm2c8c44d2005-03-24 16:22:35 +0000380
vlme745fcd2006-09-05 16:18:34 +0000381 3, 17, 25, 26, 24, 25, 26, 125, 117, 118,
382 30, 29, 2, 1, 120, 121, 120, 121, 120, 121,
383 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
384 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
385 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
386 120, 121, 120, 121, 120, 121, 120, 121, 66, 120,
387 121, 121, 121, 120, 121, 120, 121, 120, 121, 120,
388 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
389 121, 84, 120, 121, 121, 120, 121, 120, 121, 120,
390 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
vlm808411d2006-03-14 16:31:37 +0000391
vlme745fcd2006-09-05 16:18:34 +0000392 121, 97, 120, 121, 120, 121, 120, 121, 101, 120,
393 121, 120, 121, 120, 121, 120, 121, 105, 120, 121,
394 107, 120, 121, 121, 120, 121, 120, 121, 120, 121,
395 120, 121, 120, 121, 121, 121, 121, 116, 120, 121,
396 3, 25, 26, 120, 121, 120, 121, 120, 121, 40,
397 120, 121, 121, 120, 121, 120, 121, 120, 121, 47,
398 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
399 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
400 120, 121, 120, 121, 120, 121, 120, 121, 65, 120,
401 121, 121, 121, 121, 120, 121, 120, 121, 120, 121,
vlm808411d2006-03-14 16:31:37 +0000402
vlme745fcd2006-09-05 16:18:34 +0000403 120, 121, 120, 121, 120, 121, 120, 121, 120, 121,
404 120, 121, 120, 121, 121, 120, 121, 88, 120, 121,
405 120, 121, 121, 120, 121, 120, 121, 120, 121, 121,
406 120, 121, 120, 121, 120, 121, 120, 121, 121, 121,
407 108, 120, 121, 120, 121, 120, 121, 121, 120, 121,
408 121, 121, 121, 133, 25, 26, 35, 120, 121, 120,
409 121, 120, 121, 121, 120, 121, 120, 121, 46, 120,
410 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
411 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
412 121, 60, 120, 121, 120, 121, 120, 121, 120, 121,
vlm808411d2006-03-14 16:31:37 +0000413
vlme745fcd2006-09-05 16:18:34 +0000414 120, 121, 121, 121, 121, 120, 121, 120, 121, 120,
415 121, 120, 121, 120, 121, 120, 121, 120, 121, 120,
416 121, 120, 121, 120, 121, 121, 86, 120, 121, 120,
417 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
418 121, 120, 121, 120, 121, 102, 120, 121, 103, 120,
419 121, 121, 121, 109, 120, 121, 120, 121, 121, 121,
420 121, 121, 121, 25, 26, 120, 121, 120, 121, 121,
421 43, 120, 121, 120, 121, 120, 121, 120, 121, 120,
422 121, 52, 120, 121, 53, 120, 121, 120, 121, 120,
423 121, 56, 120, 121, 120, 121, 120, 121, 120, 121,
vlm808411d2006-03-14 16:31:37 +0000424
vlme745fcd2006-09-05 16:18:34 +0000425 62, 120, 121, 120, 121, 120, 121, 121, 121, 121,
426 120, 121, 120, 121, 73, 120, 121, 74, 120, 121,
427 120, 121, 120, 121, 120, 121, 78, 120, 121, 120,
428 121, 120, 121, 120, 121, 121, 120, 121, 121, 91,
429 120, 121, 120, 121, 94, 120, 121, 96, 120, 121,
430 121, 120, 121, 120, 121, 121, 121, 120, 121, 112,
431 121, 121, 121, 121, 121, 25, 26, 120, 121, 120,
432 121, 121, 120, 121, 120, 121, 120, 121, 120, 121,
433 120, 121, 55, 120, 121, 120, 121, 120, 121, 61,
434 120, 121, 120, 121, 64, 120, 121, 121, 121, 121,
vlm808411d2006-03-14 16:31:37 +0000435
vlme745fcd2006-09-05 16:18:34 +0000436 121, 120, 121, 72, 120, 121, 75, 120, 121, 76,
437 120, 121, 120, 121, 120, 121, 121, 120, 121, 121,
438 90, 120, 121, 121, 120, 121, 121, 120, 121, 99,
439 120, 121, 121, 121, 120, 121, 121, 121, 121, 121,
440 25, 26, 120, 121, 39, 120, 121, 42, 121, 45,
441 120, 121, 48, 120, 121, 120, 121, 120, 121, 120,
442 121, 120, 121, 120, 121, 121, 121, 121, 70, 121,
443 120, 121, 120, 121, 120, 121, 121, 120, 121, 121,
444 121, 120, 121, 121, 104, 121, 121, 110, 120, 121,
445 121, 121, 121, 121, 134, 25, 120, 121, 49, 120,
vlm808411d2006-03-14 16:31:37 +0000446
vlme745fcd2006-09-05 16:18:34 +0000447 121, 120, 121, 51, 120, 121, 120, 121, 120, 121,
448 59, 120, 121, 120, 121, 121, 121, 121, 71, 120,
449 121, 120, 121, 120, 121, 121, 120, 121, 121, 121,
450 120, 121, 121, 120, 121, 121, 113, 121, 121, 121,
451 121, 25, 38, 120, 121, 50, 120, 121, 54, 120,
452 121, 120, 121, 120, 121, 121, 121, 121, 120, 121,
453 120, 121, 121, 120, 121, 121, 121, 120, 121, 121,
454 120, 121, 121, 121, 121, 121, 25, 120, 121, 120,
455 121, 121, 121, 121, 77, 120, 121, 79, 120, 121,
456 80, 121, 120, 121, 121, 121, 120, 121, 121, 98,
vlm808411d2006-03-14 16:31:37 +0000457
vlme745fcd2006-09-05 16:18:34 +0000458 120, 121, 121, 121, 121, 121, 25, 120, 121, 63,
459 120, 121, 68, 121, 121, 69, 121, 120, 121, 85,
460 121, 121, 93, 120, 121, 121, 106, 121, 121, 121,
461 115, 121, 25, 120, 121, 121, 83, 120, 121, 121,
462 121, 121, 114, 121, 25, 120, 121, 67, 121, 121,
463 95, 121, 111, 121, 25, 57, 120, 121, 87, 121,
464 23, 25, 4
vlmfa67ddc2004-06-03 03:38:44 +0000465 } ;
466
vlme745fcd2006-09-05 16:18:34 +0000467static yyconst short int yy_accept[743] =
vlmfa67ddc2004-06-03 03:38:44 +0000468 { 0,
469 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
vlmb5abdc92005-07-02 21:42:40 +0000470 1, 1, 1, 1, 1, 1, 1, 2, 4, 7,
vlme745fcd2006-09-05 16:18:34 +0000471 9, 12, 15, 18, 20, 23, 25, 27, 30, 32,
472 35, 38, 41, 43, 47, 51, 55, 59, 63, 67,
473 71, 75, 79, 83, 87, 91, 95, 99, 103, 107,
474 111, 115, 119, 122, 125, 128, 130, 133, 136, 139,
475 143, 145, 148, 151, 154, 157, 159, 162, 165, 167,
476 170, 173, 176, 179, 183, 186, 188, 193, 198, 201,
477 203, 205, 208, 210, 212, 215, 218, 221, 224, 227,
478 227, 228, 229, 230, 230, 231, 231, 232, 232, 232,
vlmfa67ddc2004-06-03 03:38:44 +0000479
vlme745fcd2006-09-05 16:18:34 +0000480 232, 233, 234, 235, 236, 236, 237, 237, 239, 239,
481 239, 241, 243, 245, 247, 249, 251, 252, 254, 256,
482 258, 260, 263, 265, 267, 269, 271, 273, 275, 277,
483 279, 281, 282, 283, 285, 287, 289, 291, 293, 295,
484 297, 299, 300, 302, 304, 307, 309, 310, 312, 314,
485 316, 318, 319, 321, 323, 325, 327, 329, 331, 333,
486 335, 336, 338, 340, 341, 342, 344, 344, 345, 345,
487 345, 345, 346, 347, 348, 349, 350, 351, 352, 352,
488 353, 355, 357, 358, 359, 359, 360, 361, 361, 361,
489 362, 362, 363, 363, 363, 363, 363, 365, 366, 367,
vlmfa67ddc2004-06-03 03:38:44 +0000490
vlme745fcd2006-09-05 16:18:34 +0000491 367, 368, 370, 371, 373, 376, 379, 381, 383, 383,
492 385, 388, 390, 392, 394, 396, 398, 400, 402, 404,
493 406, 408, 411, 413, 415, 417, 419, 421, 423, 424,
494 425, 427, 429, 431, 433, 435, 437, 439, 442, 445,
495 447, 448, 450, 452, 454, 455, 457, 460, 462, 464,
496 466, 467, 469, 471, 473, 476, 478, 480, 482, 484,
497 486, 488, 489, 491, 493, 495, 496, 497, 498, 500,
498 501, 501, 501, 502, 503, 505, 508, 509, 509, 510,
499 511, 512, 513, 514, 515, 515, 515, 515, 517, 519,
500 521, 523, 525, 527, 529, 531, 533, 535, 537, 539,
vlmfa67ddc2004-06-03 03:38:44 +0000501
vlme745fcd2006-09-05 16:18:34 +0000502 541, 543, 545, 547, 549, 551, 553, 555, 557, 559,
503 562, 563, 564, 566, 568, 570, 572, 574, 576, 578,
504 580, 582, 585, 586, 588, 590, 592, 593, 595, 597,
505 599, 601, 602, 605, 607, 609, 612, 614, 616, 618,
506 621, 624, 625, 627, 629, 631, 633, 635, 636, 637,
507 638, 641, 641, 641, 641, 641, 642, 644, 644, 646,
508 648, 650, 653, 654, 656, 658, 660, 663, 665, 667,
509 669, 671, 673, 675, 677, 679, 681, 683, 685, 687,
510 689, 692, 693, 694, 695, 697, 699, 701, 703, 705,
511 707, 709, 711, 713, 715, 716, 718, 721, 723, 724,
vlmfa67ddc2004-06-03 03:38:44 +0000512
vlme745fcd2006-09-05 16:18:34 +0000513 726, 726, 728, 730, 731, 733, 735, 737, 739, 740,
514 741, 744, 746, 748, 749, 751, 752, 753, 754, 754,
515 754, 755, 757, 757, 760, 762, 764, 765, 767, 769,
516 772, 774, 776, 778, 780, 782, 784, 786, 788, 790,
517 792, 795, 797, 799, 801, 803, 804, 805, 806, 808,
518 810, 812, 814, 816, 818, 820, 822, 824, 826, 826,
519 827, 830, 832, 833, 835, 837, 839, 841, 842, 844,
520 846, 849, 852, 853, 854, 857, 859, 860, 861, 862,
521 863, 864, 864, 864, 866, 866, 868, 870, 871, 874,
522 876, 878, 880, 882, 885, 888, 890, 892, 895, 897,
vlmfa67ddc2004-06-03 03:38:44 +0000523
vlme745fcd2006-09-05 16:18:34 +0000524 899, 901, 904, 906, 908, 909, 910, 911, 913, 915,
525 918, 921, 923, 925, 927, 930, 932, 934, 936, 937,
526 939, 940, 943, 945, 948, 951, 952, 954, 956, 957,
527 958, 960, 962, 963, 964, 965, 966, 966, 968, 968,
528 970, 972, 973, 975, 977, 979, 981, 983, 986, 988,
529 990, 993, 995, 998, 999, 1000, 1001, 1002, 1004, 1007,
530 1010, 1013, 1015, 1017, 1018, 1020, 1021, 1024, 1025, 1027,
531 1028, 1030, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1041,
532 1041, 1041, 1043, 1043, 1045, 1048, 1050, 1053, 1056, 1058,
533 1060, 1062, 1062, 1064, 1066, 1067, 1068, 1069, 1071, 1073,
vlmfa67ddc2004-06-03 03:38:44 +0000534
vlme745fcd2006-09-05 16:18:34 +0000535 1075, 1077, 1078, 1080, 1081, 1082, 1084, 1085, 1085, 1087,
536 1088, 1091, 1092, 1093, 1094, 1095, 1095, 1096, 1097, 1097,
537 1099, 1102, 1104, 1107, 1109, 1111, 1114, 1116, 1117, 1118,
538 1119, 1122, 1124, 1126, 1127, 1129, 1130, 1131, 1133, 1134,
539 1136, 1137, 1139, 1140, 1141, 1142, 1143, 1143, 1146, 1149,
540 1152, 1154, 1156, 1157, 1158, 1159, 1161, 1163, 1164, 1166,
541 1167, 1168, 1170, 1171, 1173, 1174, 1175, 1176, 1177, 1178,
542 1178, 1180, 1182, 1183, 1184, 1185, 1188, 1191, 1193, 1195,
543 1196, 1197, 1199, 1200, 1203, 1204, 1205, 1206, 1207, 1208,
544 1208, 1210, 1213, 1215, 1216, 1218, 1220, 1222, 1223, 1226,
vlmb5abdc92005-07-02 21:42:40 +0000545
vlme745fcd2006-09-05 16:18:34 +0000546 1227, 1229, 1230, 1231, 1233, 1234, 1234, 1236, 1237, 1240,
547 1241, 1242, 1243, 1245, 1246, 1246, 1248, 1250, 1251, 1253,
548 1255, 1256, 1256, 1259, 1261, 1263, 1263, 1263, 1263, 1263,
549 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
550 1264, 1264
vlmfa67ddc2004-06-03 03:38:44 +0000551 } ;
552
553static yyconst int yy_ec[256] =
554 { 0,
555 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
vlmb5abdc92005-07-02 21:42:40 +0000556 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
vlmfa67ddc2004-06-03 03:38:44 +0000557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
vlmb5abdc92005-07-02 21:42:40 +0000558 1, 2, 6, 7, 1, 1, 1, 8, 9, 10,
vlme745fcd2006-09-05 16:18:34 +0000559 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
560 19, 20, 21, 22, 19, 23, 24, 25, 26, 27,
561 28, 29, 1, 10, 30, 31, 32, 33, 34, 35,
562 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
563 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
564 56, 1, 57, 58, 1, 1, 59, 60, 61, 62,
vlmfa67ddc2004-06-03 03:38:44 +0000565
vlme745fcd2006-09-05 16:18:34 +0000566 63, 64, 65, 66, 67, 68, 64, 69, 70, 71,
567 72, 73, 64, 74, 75, 76, 77, 78, 64, 79,
568 64, 80, 81, 82, 83, 1, 1, 1, 1, 1,
vlmfa67ddc2004-06-03 03:38:44 +0000569 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, 1, 1, 1, 1, 1,
575 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
576
577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
582 1, 1, 1, 1, 1
583 } ;
584
vlme745fcd2006-09-05 16:18:34 +0000585static yyconst int yy_meta[84] =
vlmfa67ddc2004-06-03 03:38:44 +0000586 { 0,
vlm808411d2006-03-14 16:31:37 +0000587 1, 2, 3, 4, 4, 1, 5, 1, 6, 1,
vlme745fcd2006-09-05 16:18:34 +0000588 1, 1, 1, 7, 1, 1, 8, 8, 8, 8,
589 8, 8, 8, 8, 9, 1, 1, 9, 1, 10,
590 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,
vlm808411d2006-03-14 16:31:37 +0000591 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
vlme745fcd2006-09-05 16:18:34 +0000592 11, 11, 11, 11, 11, 1, 1, 1, 11, 11,
vlm808411d2006-03-14 16:31:37 +0000593 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
vlme745fcd2006-09-05 16:18:34 +0000594 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
595 12, 1, 13
vlmb5abdc92005-07-02 21:42:40 +0000596 } ;
vlmfa67ddc2004-06-03 03:38:44 +0000597
vlme745fcd2006-09-05 16:18:34 +0000598static yyconst short int yy_base[768] =
vlmb5abdc92005-07-02 21:42:40 +0000599 { 0,
vlme745fcd2006-09-05 16:18:34 +0000600 0, 0, 81, 84, 87, 99, 94, 96, 93, 108,
601 91, 103, 186, 269, 352, 0, 1657, 1646, 130, 138,
602 1645, 1643, 427, 146, 4507, 158, 207, 1633, 109, 230,
603 493, 1621, 4507, 543, 268, 115, 274, 289, 488, 593,
604 191, 599, 509, 215, 491, 621, 406, 638, 655, 658,
605 678, 689, 1631, 733, 0, 4507, 4507, 1630, 1629, 4507,
606 4507, 1621, 1622, 4507, 0, 0, 1622, 0, 0, 1602,
607 4507, 4507, 4507, 0, 4507, 4507, 757, 839, 122, 166,
608 127, 4507, 1612, 1609, 1604, 4507, 4507, 4507, 4507, 1605,
609 201, 0, 1603, 1603, 1589, 96, 1585, 656, 1588, 772,
vlmfa67ddc2004-06-03 03:38:44 +0000610
vlme745fcd2006-09-05 16:18:34 +0000611 103, 807, 1580, 4507, 839, 857, 886, 907, 1565, 912,
612 681, 757, 892, 903, 909, 962, 1578, 963, 978, 979,
613 994, 1000, 1016, 1022, 1033, 1046, 1049, 1069, 1066, 1077,
614 1090, 95, 79, 1105, 1108, 1116, 1131, 1142, 1153, 1159,
615 1170, 147, 1183, 1186, 1199, 1207, 94, 1210, 1223, 1234,
616 1247, 143, 1263, 1269, 1280, 1286, 1297, 1308, 1314, 1325,
617 169, 1331, 1347, 194, 225, 1346, 0, 1572, 757, 943,
618 1381, 0, 4507, 1570, 4507, 0, 4507, 0, 1554, 0,
619 1536, 258, 333, 4507, 0, 1561, 4507, 1554, 0, 1552,
620 0, 1550, 226, 1526, 204, 143, 1391, 4507, 866, 894,
vlmfa67ddc2004-06-03 03:38:44 +0000621
vlme745fcd2006-09-05 16:18:34 +0000622 4507, 1441, 1548, 1385, 1386, 1401, 1402, 1417, 1547, 1425,
623 1428, 1441, 1449, 1491, 1492, 1508, 1509, 1524, 1540, 1546,
624 1557, 1563, 1574, 1580, 1591, 1597, 1608, 1619, 223, 241,
625 1632, 1640, 1643, 1658, 1661, 1664, 1690, 1682, 1693, 1706,
626 226, 1714, 1727, 1735, 495, 1738, 1751, 1759, 1767, 1775,
627 245, 1788, 1791, 1799, 1812, 1820, 1828, 1836, 1849, 1857,
628 1870, 506, 1878, 1894, 1895, 470, 507, 221, 1910, 1546,
629 1954, 1962, 1543, 4507, 285, 1505, 1533, 1489, 1531, 1530,
630 4507, 4507, 4507, 4507, 436, 319, 1495, 1956, 1957, 1972,
631 1978, 1989, 1995, 2011, 2012, 2027, 2035, 2043, 2059, 2056,
vlmfa67ddc2004-06-03 03:38:44 +0000632
vlme745fcd2006-09-05 16:18:34 +0000633 2067, 2080, 2083, 2098, 2104, 2115, 2121, 2132, 2147, 2153,
634 469, 535, 2164, 2170, 2185, 2186, 2201, 2207, 2222, 2225,
635 2233, 2246, 554, 2254, 2257, 2270, 205, 2278, 2291, 2299,
636 2307, 523, 2315, 2323, 2336, 2344, 2347, 2365, 2362, 2368,
637 2383, 557, 2386, 2389, 2406, 2412, 2423, 612, 528, 631,
638 2439, 2473, 2496, 2519, 2531, 1517, 190, 1486, 2515, 2530,
639 2546, 2543, 623, 2564, 2567, 2570, 2585, 2588, 2596, 2609,
640 2617, 2630, 2641, 2647, 2658, 2669, 2684, 2690, 2701, 2707,
641 2722, 248, 558, 632, 2723, 2743, 2740, 2761, 2760, 2776,
642 2782, 2793, 2806, 2817, 613, 2814, 2830, 2838, 617, 2846,
vlmfa67ddc2004-06-03 03:38:44 +0000643
vlme745fcd2006-09-05 16:18:34 +0000644 309, 2854, 2867, 625, 2880, 2883, 2891, 2904, 636, 641,
645 2915, 2921, 2932, 643, 2943, 668, 639, 621, 441, 2987,
646 4507, 302, 1508, 2971, 2987, 2984, 649, 2995, 3008, 3011,
647 3028, 3034, 3045, 3051, 3066, 3072, 3089, 3095, 3106, 3112,
648 3123, 3129, 3140, 3146, 3162, 656, 680, 730, 3163, 3178,
649 3184, 3195, 3201, 3216, 3222, 3233, 3248, 3254, 785, 878,
650 3265, 3281, 511, 3278, 1482, 3289, 3302, 885, 3310, 3325,
651 3328, 3331, 734, 664, 3346, 3349, 806, 735, 733, 830,
652 880, 3398, 3410, 1481, 1461, 3364, 3404, 732, 3405, 3422,
653 3421, 3437, 3438, 3453, 3454, 3469, 3475, 3486, 3492, 3503,
vlmfa67ddc2004-06-03 03:38:44 +0000654
vlme745fcd2006-09-05 16:18:34 +0000655 3514, 3525, 3531, 3542, 982, 790, 887, 3548, 3559, 3570,
656 3576, 3587, 3593, 3608, 3609, 3624, 3630, 1445, 823, 3641,
657 905, 3647, 1448, 3658, 3664, 933, 3679, 3685, 924, 984,
658 3701, 1467, 987, 941, 918, 1000, 3735, 101, 0, 3729,
659 3730, 1003, 3745, 3753, 3756, 3769, 3777, 3785, 3793, 3806,
660 3814, 3822, 3830, 1012, 634, 1019, 1004, 3843, 3851, 3854,
661 3867, 3875, 3878, 1056, 1444, 1028, 3891, 1042, 1427, 1022,
662 3912, 3899, 1041, 1037, 3915, 1002, 1068, 1057, 1048, 3964,
663 1381, 290, 1410, 3930, 3948, 1436, 3959, 3965, 3980, 3981,
664 3996, 514, 4002, 4013, 1070, 1065, 1115, 1435, 4019, 4030,
vlmfa67ddc2004-06-03 03:38:44 +0000665
vlme745fcd2006-09-05 16:18:34 +0000666 4041, 1026, 1403, 1131, 1109, 1397, 1127, 798, 1425, 1138,
667 4047, 1089, 1129, 1142, 1151, 1493, 4507, 1392, 1358, 4058,
668 4064, 4079, 4080, 4095, 1374, 4096, 4111, 1111, 1146, 1124,
669 4117, 4128, 4139, 1150, 1322, 1179, 1193, 1299, 1185, 1296,
670 1196, 1318, 1220, 1202, 1205, 1254, 1218, 4145, 4156, 4162,
671 1227, 4173, 1168, 1118, 1174, 4184, 4190, 1218, 1224, 1209,
672 1255, 1148, 1229, 1138, 1272, 1233, 1257, 1273, 1126, 1012,
673 1009, 4205, 1244, 1281, 1287, 4206, 4221, 1020, 966, 1302,
674 1268, 915, 1306, 0, 1357, 1340, 1275, 1409, 902, 886,
675 889, 4222, 822, 1291, 820, 779, 818, 1223, 0, 1349,
vlmfa67ddc2004-06-03 03:38:44 +0000676
vlme745fcd2006-09-05 16:18:34 +0000677 807, 1366, 1420, 805, 771, 742, 767, 1424, 0, 1288,
678 1462, 1463, 796, 696, 670, 676, 697, 1379, 541, 539,
679 504, 459, 0, 441, 0, 378, 422, 373, 397, 366,
680 281, 275, 268, 280, 267, 814, 1166, 115, 100, 4507,
681 4507, 4272, 4285, 4298, 4311, 4324, 4337, 4349, 4353, 4364,
682 4377, 4390, 4401, 4412, 4417, 4422, 4427, 4431, 4436, 4440,
683 4444, 4448, 4452, 4463, 4470, 4481, 4493
vlmb5abdc92005-07-02 21:42:40 +0000684 } ;
vlmfa67ddc2004-06-03 03:38:44 +0000685
vlme745fcd2006-09-05 16:18:34 +0000686static yyconst short int yy_def[768] =
vlmb5abdc92005-07-02 21:42:40 +0000687 { 0,
vlme745fcd2006-09-05 16:18:34 +0000688 741, 1, 742, 742, 742, 742, 743, 743, 744, 744,
689 745, 745, 746, 746, 741, 15, 741, 741, 741, 741,
690 741, 747, 741, 748, 741, 741, 741, 741, 741, 741,
691 741, 741, 741, 741, 34, 34, 34, 34, 34, 34,
692 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
693 34, 34, 749, 741, 750, 741, 741, 741, 741, 741,
694 741, 741, 741, 741, 751, 751, 741, 752, 752, 741,
695 741, 741, 741, 753, 741, 741, 754, 754, 741, 741,
696 23, 741, 741, 741, 755, 741, 741, 741, 741, 741,
697 741, 747, 747, 741, 756, 741, 757, 748, 748, 741,
vlmfa67ddc2004-06-03 03:38:44 +0000698
vlme745fcd2006-09-05 16:18:34 +0000699 741, 741, 741, 741, 741, 741, 741, 741, 741, 758,
700 34, 34, 34, 34, 34, 34, 759, 34, 34, 34,
701 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
702 34, 759, 759, 34, 34, 34, 34, 34, 34, 34,
703 34, 759, 34, 34, 34, 34, 759, 34, 34, 34,
704 34, 759, 34, 34, 34, 34, 34, 34, 34, 34,
705 759, 34, 34, 759, 759, 34, 760, 749, 741, 741,
706 741, 750, 741, 741, 741, 751, 741, 752, 741, 753,
707 78, 78, 741, 741, 761, 755, 741, 741, 762, 756,
708 763, 757, 741, 741, 764, 741, 741, 741, 741, 741,
vlm808411d2006-03-14 16:31:37 +0000709
vlme745fcd2006-09-05 16:18:34 +0000710 741, 758, 765, 34, 34, 34, 34, 34, 765, 34,
711 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
712 34, 34, 34, 34, 34, 34, 34, 34, 759, 759,
713 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
714 759, 34, 34, 34, 759, 34, 34, 34, 34, 34,
715 759, 34, 34, 34, 34, 34, 34, 34, 34, 34,
716 34, 759, 34, 34, 34, 759, 759, 759, 34, 760,
717 741, 741, 741, 741, 78, 78, 761, 741, 762, 763,
718 741, 741, 741, 741, 764, 741, 741, 34, 34, 34,
719 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
vlm808411d2006-03-14 16:31:37 +0000720
vlme745fcd2006-09-05 16:18:34 +0000721 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
722 759, 759, 34, 34, 34, 34, 34, 34, 34, 34,
723 34, 34, 759, 34, 34, 34, 759, 34, 34, 34,
724 34, 759, 34, 34, 34, 34, 34, 34, 34, 34,
725 34, 759, 34, 34, 34, 34, 34, 759, 759, 759,
726 34, 741, 741, 741, 741, 741, 78, 741, 34, 34,
727 34, 34, 759, 34, 34, 34, 34, 34, 34, 34,
728 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
729 34, 759, 759, 759, 34, 34, 34, 34, 34, 34,
730 34, 34, 34, 34, 759, 34, 34, 34, 759, 34,
vlm808411d2006-03-14 16:31:37 +0000731
vlme745fcd2006-09-05 16:18:34 +0000732 202, 34, 34, 759, 34, 34, 34, 34, 759, 759,
733 34, 34, 34, 759, 34, 759, 759, 759, 741, 741,
734 741, 78, 741, 34, 34, 34, 759, 34, 34, 34,
735 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
736 34, 34, 34, 34, 34, 759, 759, 759, 34, 34,
737 34, 34, 34, 34, 34, 34, 34, 34, 202, 759,
738 34, 34, 759, 34, 202, 34, 34, 759, 34, 34,
739 34, 34, 759, 759, 34, 34, 759, 759, 759, 759,
740 759, 741, 741, 78, 741, 34, 34, 759, 34, 34,
741 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
vlmfa67ddc2004-06-03 03:38:44 +0000742
vlme745fcd2006-09-05 16:18:34 +0000743 34, 34, 34, 34, 759, 759, 759, 34, 34, 34,
744 34, 34, 34, 34, 34, 34, 34, 202, 759, 34,
745 759, 34, 202, 34, 34, 759, 34, 34, 759, 759,
746 34, 759, 759, 759, 759, 759, 741, 78, 766, 34,
747 34, 759, 34, 34, 34, 34, 34, 34, 34, 34,
748 34, 34, 34, 759, 759, 759, 759, 34, 34, 34,
749 34, 34, 34, 759, 202, 759, 34, 759, 202, 759,
750 34, 34, 759, 759, 34, 759, 759, 759, 759, 741,
751 767, 78, 741, 34, 34, 759, 34, 34, 34, 34,
752 34, 202, 34, 34, 759, 759, 759, 759, 34, 34,
vlm177a5b62005-09-05 05:17:57 +0000753
vlme745fcd2006-09-05 16:18:34 +0000754 34, 759, 202, 759, 759, 202, 759, 202, 759, 759,
755 34, 759, 759, 759, 759, 741, 741, 753, 741, 34,
756 34, 34, 34, 34, 202, 34, 34, 759, 759, 759,
757 34, 34, 34, 759, 202, 759, 759, 202, 759, 202,
758 759, 759, 759, 759, 759, 753, 741, 34, 34, 34,
759 202, 34, 759, 759, 759, 34, 34, 759, 202, 759,
760 759, 202, 759, 202, 759, 759, 759, 759, 753, 741,
761 202, 34, 759, 759, 759, 34, 34, 759, 202, 759,
762 759, 202, 759, 202, 759, 759, 759, 759, 753, 741,
763 202, 34, 759, 759, 759, 202, 759, 759, 202, 759,
vlmfa67ddc2004-06-03 03:38:44 +0000764
vlme745fcd2006-09-05 16:18:34 +0000765 759, 759, 759, 759, 753, 741, 202, 759, 202, 759,
766 759, 759, 759, 753, 741, 202, 759, 759, 759, 759,
767 753, 741, 202, 759, 753, 741, 741, 741, 741, 741,
768 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
769 0, 741, 741, 741, 741, 741, 741, 741, 741, 741,
770 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
771 741, 741, 741, 741, 741, 741, 741
vlmb5abdc92005-07-02 21:42:40 +0000772 } ;
vlmfa67ddc2004-06-03 03:38:44 +0000773
vlme745fcd2006-09-05 16:18:34 +0000774static yyconst short int yy_nxt[4591] =
vlmb5abdc92005-07-02 21:42:40 +0000775 { 0,
776 18, 19, 20, 19, 19, 21, 22, 23, 24, 25,
vlme745fcd2006-09-05 16:18:34 +0000777 18, 26, 25, 27, 28, 29, 30, 31, 31, 31,
778 31, 31, 31, 31, 32, 21, 33, 33, 18, 34,
779 35, 36, 37, 38, 39, 40, 41, 42, 41, 41,
780 41, 43, 44, 45, 46, 41, 47, 48, 49, 50,
781 51, 52, 41, 41, 41, 25, 21, 21, 53, 53,
782 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
783 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
784 54, 21, 25, 56, 57, 57, 56, 57, 57, 56,
785 57, 57, 209, 69, 58, 66, 61, 58, 61, 67,
vlmfa67ddc2004-06-03 03:38:44 +0000786
vlme745fcd2006-09-05 16:18:34 +0000787 59, 56, 57, 57, 62, 69, 62, 209, 209, 63,
788 66, 63, 59, 740, 67, 70, 195, 90, 71, 104,
789 64, 94, 64, 183, 183, 183, 183, 70, 739, 196,
790 71, 91, 91, 91, 91, 741, 582, 230, 90, 91,
791 91, 91, 91, 181, 286, 111, 90, 98, 98, 98,
792 98, 123, 741, 96, 90, 124, 209, 111, 125, 111,
793 209, 245, 98, 98, 111, 229, 90, 183, 183, 183,
794 183, 72, 287, 73, 100, 100, 100, 100, 100, 100,
795 100, 100, 209, 72, 741, 73, 74, 75, 76, 75,
796 75, 74, 74, 74, 74, 74, 74, 74, 74, 74,
vlmfa67ddc2004-06-03 03:38:44 +0000797
vlme745fcd2006-09-05 16:18:34 +0000798 74, 74, 91, 91, 91, 91, 284, 209, 284, 251,
799 74, 74, 74, 74, 74, 90, 241, 285, 209, 78,
800 101, 111, 422, 100, 102, 102, 102, 102, 102, 102,
801 102, 111, 181, 111, 209, 111, 209, 262, 209, 209,
802 111, 74, 74, 74, 105, 111, 106, 106, 106, 106,
803 106, 106, 106, 106, 209, 111, 281, 111, 209, 111,
804 266, 209, 282, 107, 141, 399, 75, 74, 75, 74,
805 75, 76, 75, 75, 74, 74, 74, 74, 74, 74,
806 74, 74, 74, 74, 74, 311, 267, 350, 323, 275,
807 276, 142, 107, 74, 74, 74, 74, 74, 111, 268,
vlmfa67ddc2004-06-03 03:38:44 +0000808
vlme745fcd2006-09-05 16:18:34 +0000809 181, 118, 78, 618, 111, 119, 446, 126, 111, 120,
810 111, 121, 111, 312, 111, 332, 111, 111, 111, 111,
811 286, 122, 741, 111, 74, 74, 74, 181, 357, 111,
812 127, 128, 181, 111, 183, 183, 183, 183, 111, 484,
813 736, 129, 735, 734, 181, 733, 465, 732, 287, 75,
814 74, 75, 33, 79, 80, 79, 79, 33, 33, 81,
815 33, 33, 33, 33, 82, 83, 33, 84, 33, 33,
816 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
817 33, 85, 85, 85, 85, 85, 85, 85, 85, 85,
818 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
vlmfa67ddc2004-06-03 03:38:44 +0000819
vlme745fcd2006-09-05 16:18:34 +0000820 85, 85, 85, 85, 85, 85, 85, 86, 87, 33,
821 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
822 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
823 33, 33, 88, 33, 89, 90, 111, 731, 284, 153,
824 284, 730, 419, 419, 419, 419, 111, 729, 111, 285,
825 111, 728, 94, 727, 209, 111, 95, 95, 95, 95,
826 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
827 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
828 95, 95, 209, 209, 96, 97, 97, 97, 97, 97,
829 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000830
vlme745fcd2006-09-05 16:18:34 +0000831 97, 97, 97, 97, 97, 97, 97, 105, 209, 108,
832 108, 108, 108, 108, 108, 108, 108, 130, 111, 209,
833 209, 143, 144, 421, 209, 145, 107, 741, 111, 726,
834 111, 111, 111, 111, 131, 146, 209, 111, 139, 111,
835 111, 209, 382, 521, 725, 625, 140, 348, 209, 111,
836 147, 111, 209, 111, 209, 107, 110, 327, 111, 111,
837 111, 111, 111, 111, 111, 111, 111, 209, 342, 349,
838 209, 209, 111, 112, 111, 111, 111, 111, 111, 111,
839 111, 111, 111, 113, 111, 114, 111, 115, 111, 111,
840 111, 111, 116, 111, 111, 111, 111, 111, 404, 417,
vlmfa67ddc2004-06-03 03:38:44 +0000841
vlme745fcd2006-09-05 16:18:34 +0000842 383, 117, 117, 117, 117, 117, 117, 117, 117, 117,
843 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
844 117, 117, 117, 111, 447, 209, 209, 395, 134, 111,
845 209, 135, 410, 111, 209, 111, 209, 111, 209, 111,
846 136, 137, 111, 111, 209, 209, 138, 209, 111, 209,
847 148, 111, 209, 149, 209, 132, 209, 98, 98, 98,
848 98, 150, 209, 111, 193, 111, 133, 151, 111, 209,
849 111, 154, 98, 98, 416, 155, 158, 209, 111, 460,
850 111, 209, 111, 468, 159, 111, 156, 111, 111, 481,
851 418, 157, 463, 209, 152, 111, 427, 111, 111, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000852
vlme745fcd2006-09-05 16:18:34 +0000853 162, 160, 111, 474, 111, 448, 163, 111, 111, 473,
854 209, 111, 477, 596, 480, 488, 723, 161, 111, 111,
855 111, 111, 111, 111, 505, 111, 166, 111, 164, 111,
856 111, 111, 722, 111, 169, 169, 169, 169, 111, 721,
857 506, 479, 530, 209, 165, 209, 209, 209, 209, 170,
858 170, 170, 170, 170, 170, 171, 171, 180, 169, 169,
859 169, 169, 180, 180, 180, 180, 180, 180, 180, 180,
860 180, 180, 180, 170, 170, 170, 170, 170, 170, 171,
861 171, 180, 180, 180, 180, 180, 105, 111, 106, 106,
862 106, 106, 106, 106, 106, 106, 507, 111, 741, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000863
vlme745fcd2006-09-05 16:18:34 +0000864 529, 111, 542, 209, 204, 107, 111, 534, 533, 209,
865 716, 741, 180, 180, 180, 737, 715, 714, 209, 209,
866 209, 105, 518, 197, 197, 197, 197, 197, 197, 197,
867 197, 209, 709, 209, 107, 209, 209, 556, 180, 180,
868 107, 640, 738, 209, 180, 180, 180, 180, 180, 180,
869 180, 180, 180, 180, 180, 199, 199, 199, 199, 199,
870 199, 199, 199, 180, 180, 180, 180, 180, 532, 107,
871 566, 105, 107, 106, 106, 106, 106, 106, 106, 106,
872 106, 182, 199, 199, 199, 199, 199, 199, 199, 199,
873 107, 209, 535, 209, 180, 180, 180, 200, 209, 200,
vlmfa67ddc2004-06-03 03:38:44 +0000874
vlme745fcd2006-09-05 16:18:34 +0000875 209, 107, 199, 199, 199, 199, 199, 199, 199, 199,
876 199, 199, 199, 199, 199, 199, 199, 199, 209, 107,
877 180, 105, 111, 108, 108, 108, 108, 108, 108, 108,
878 108, 209, 205, 111, 111, 707, 111, 209, 519, 111,
879 107, 111, 536, 111, 526, 111, 209, 111, 706, 111,
880 705, 111, 111, 207, 209, 271, 206, 557, 111, 171,
881 171, 171, 171, 171, 171, 171, 171, 568, 699, 107,
882 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
883 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
884 203, 203, 111, 111, 573, 209, 578, 209, 210, 577,
vlmfa67ddc2004-06-03 03:38:44 +0000885
vlme745fcd2006-09-05 16:18:34 +0000886 209, 570, 111, 111, 111, 111, 111, 111, 111, 111,
887 208, 111, 111, 209, 696, 209, 209, 209, 111, 111,
888 111, 111, 111, 212, 111, 209, 211, 111, 111, 554,
889 111, 574, 209, 209, 111, 209, 111, 213, 111, 209,
890 111, 209, 111, 111, 111, 214, 111, 579, 555, 111,
891 209, 216, 111, 576, 209, 209, 111, 691, 111, 215,
892 111, 209, 111, 111, 111, 111, 111, 586, 598, 209,
893 209, 111, 612, 111, 217, 218, 111, 111, 209, 220,
894 219, 209, 111, 209, 607, 690, 111, 595, 111, 111,
895 111, 111, 634, 111, 597, 111, 111, 224, 111, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000896
vlme745fcd2006-09-05 16:18:34 +0000897 221, 222, 209, 604, 614, 609, 111, 111, 111, 111,
898 225, 111, 610, 111, 226, 111, 605, 227, 223, 111,
899 111, 111, 209, 615, 209, 231, 111, 629, 209, 602,
900 111, 209, 111, 228, 111, 111, 613, 209, 111, 111,
901 209, 232, 209, 628, 209, 111, 111, 111, 111, 111,
902 111, 209, 111, 642, 111, 209, 111, 111, 111, 209,
903 233, 111, 234, 209, 209, 111, 674, 737, 689, 637,
904 684, 111, 111, 111, 639, 111, 643, 653, 235, 236,
905 111, 209, 111, 111, 111, 237, 111, 209, 630, 111,
906 655, 111, 209, 111, 738, 111, 682, 111, 209, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000907
vlme745fcd2006-09-05 16:18:34 +0000908 111, 239, 111, 111, 636, 238, 209, 654, 111, 209,
909 240, 641, 111, 111, 111, 209, 111, 644, 209, 111,
910 658, 242, 209, 111, 645, 111, 111, 111, 111, 111,
911 111, 209, 111, 209, 243, 111, 209, 111, 673, 111,
912 111, 111, 209, 111, 675, 660, 209, 111, 111, 111,
913 111, 111, 111, 111, 111, 244, 111, 209, 246, 111,
914 663, 679, 665, 111, 111, 111, 661, 111, 209, 671,
915 209, 668, 111, 247, 111, 667, 111, 111, 111, 680,
916 249, 209, 678, 248, 250, 209, 209, 111, 209, 111,
917 670, 111, 252, 111, 209, 666, 111, 669, 710, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000918
vlme745fcd2006-09-05 16:18:34 +0000919 209, 209, 683, 253, 209, 111, 686, 111, 693, 111,
920 111, 111, 111, 111, 254, 209, 111, 255, 111, 209,
921 111, 681, 111, 687, 111, 259, 111, 111, 111, 111,
922 111, 209, 257, 664, 256, 111, 662, 111, 111, 258,
923 698, 111, 685, 688, 111, 703, 111, 694, 111, 260,
924 111, 695, 111, 209, 111, 111, 111, 111, 111, 718,
925 708, 111, 209, 111, 659, 111, 697, 111, 263, 111,
926 209, 111, 700, 111, 261, 111, 111, 111, 264, 209,
927 111, 265, 616, 616, 616, 616, 111, 111, 111, 111,
928 111, 111, 209, 272, 269, 111, 111, 171, 171, 171,
vlmfa67ddc2004-06-03 03:38:44 +0000929
vlme745fcd2006-09-05 16:18:34 +0000930 171, 171, 171, 171, 171, 105, 702, 197, 197, 197,
931 197, 197, 197, 197, 197, 111, 111, 651, 288, 711,
932 647, 701, 209, 646, 107, 111, 111, 111, 111, 111,
933 111, 111, 111, 209, 111, 111, 712, 209, 209, 638,
934 635, 111, 289, 111, 111, 111, 111, 111, 209, 209,
935 111, 111, 724, 107, 110, 111, 619, 111, 111, 111,
936 290, 111, 291, 617, 606, 111, 111, 111, 111, 111,
937 111, 111, 111, 704, 111, 209, 209, 111, 603, 111,
938 209, 111, 569, 111, 713, 111, 717, 565, 292, 293,
939 111, 111, 539, 111, 616, 616, 616, 616, 111, 203,
vlmfa67ddc2004-06-03 03:38:44 +0000940
vlme745fcd2006-09-05 16:18:34 +0000941 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
942 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
943 203, 111, 111, 538, 523, 485, 719, 720, 423, 295,
944 356, 111, 111, 111, 111, 111, 111, 294, 111, 111,
945 111, 111, 358, 191, 189, 187, 185, 181, 111, 111,
946 111, 111, 111, 297, 111, 296, 356, 111, 111, 167,
947 741, 209, 282, 191, 111, 189, 111, 278, 111, 300,
948 111, 298, 299, 111, 185, 617, 111, 301, 181, 302,
949 111, 274, 111, 273, 111, 167, 111, 111, 111, 111,
950 111, 209, 201, 111, 198, 111, 194, 111, 191, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000951
vlme745fcd2006-09-05 16:18:34 +0000952 303, 111, 189, 111, 111, 111, 111, 111, 188, 187,
953 111, 187, 111, 305, 111, 304, 111, 185, 111, 104,
954 111, 111, 111, 111, 111, 184, 179, 111, 177, 111,
955 308, 306, 104, 111, 307, 111, 175, 111, 111, 111,
956 111, 111, 174, 173, 167, 109, 111, 103, 111, 111,
957 111, 93, 111, 90, 90, 309, 741, 111, 741, 111,
958 310, 111, 111, 111, 741, 741, 741, 741, 111, 741,
959 111, 741, 111, 111, 111, 741, 111, 741, 741, 313,
960 111, 111, 314, 315, 111, 111, 316, 111, 111, 111,
961 741, 111, 111, 741, 111, 741, 741, 319, 317, 741,
vlmfa67ddc2004-06-03 03:38:44 +0000962
vlme745fcd2006-09-05 16:18:34 +0000963 111, 111, 111, 111, 111, 111, 111, 111, 111, 318,
964 111, 320, 111, 111, 741, 741, 741, 741, 741, 741,
965 111, 741, 111, 111, 111, 741, 111, 741, 741, 741,
966 111, 111, 111, 111, 111, 111, 111, 111, 741, 111,
967 741, 741, 321, 741, 111, 741, 322, 324, 111, 741,
968 111, 741, 741, 741, 111, 111, 111, 111, 111, 741,
969 325, 741, 741, 111, 741, 111, 741, 111, 111, 111,
970 741, 111, 326, 741, 741, 111, 111, 111, 111, 111,
971 111, 111, 111, 741, 111, 741, 328, 111, 741, 111,
972 741, 111, 741, 111, 741, 111, 741, 111, 741, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000973
vlme745fcd2006-09-05 16:18:34 +0000974 111, 111, 741, 111, 741, 111, 329, 111, 111, 111,
975 741, 111, 741, 741, 330, 111, 111, 111, 111, 111,
976 334, 111, 741, 741, 111, 331, 741, 741, 333, 111,
977 111, 111, 111, 111, 741, 111, 741, 111, 741, 111,
978 111, 111, 111, 111, 741, 741, 741, 741, 335, 741,
979 111, 741, 111, 336, 111, 741, 111, 741, 111, 741,
980 111, 111, 111, 741, 111, 337, 111, 741, 111, 111,
981 111, 741, 111, 741, 741, 741, 111, 111, 111, 111,
982 111, 741, 741, 741, 338, 111, 741, 111, 741, 111,
983 741, 111, 741, 111, 741, 741, 339, 111, 111, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000984
vlme745fcd2006-09-05 16:18:34 +0000985 111, 111, 741, 341, 340, 741, 111, 741, 111, 741,
986 111, 741, 111, 741, 111, 741, 741, 347, 111, 111,
987 111, 343, 111, 344, 111, 111, 741, 111, 345, 741,
988 741, 741, 741, 741, 111, 111, 111, 111, 111, 111,
989 111, 741, 346, 111, 111, 741, 351, 741, 741, 741,
990 111, 741, 111, 741, 111, 352, 352, 352, 352, 111,
991 741, 741, 741, 354, 354, 354, 354, 741, 741, 741,
992 353, 353, 353, 353, 353, 353, 353, 353, 355, 355,
993 355, 355, 355, 355, 355, 355, 111, 111, 741, 741,
994 741, 741, 741, 741, 360, 741, 111, 111, 359, 111,
vlmfa67ddc2004-06-03 03:38:44 +0000995
vlme745fcd2006-09-05 16:18:34 +0000996 111, 111, 111, 741, 741, 111, 111, 741, 111, 741,
997 741, 741, 111, 361, 111, 741, 111, 741, 111, 111,
998 362, 111, 111, 741, 741, 111, 741, 111, 364, 111,
999 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1000 365, 111, 111, 366, 111, 741, 741, 741, 741, 741,
1001 741, 111, 111, 111, 111, 111, 111, 111, 741, 741,
1002 111, 111, 741, 741, 363, 111, 741, 111, 741, 111,
1003 741, 111, 741, 111, 367, 111, 111, 111, 368, 111,
1004 741, 741, 741, 111, 111, 111, 111, 111, 370, 111,
1005 741, 369, 111, 741, 741, 741, 111, 111, 111, 111,
vlmfa67ddc2004-06-03 03:38:44 +00001006
vlme745fcd2006-09-05 16:18:34 +00001007 111, 111, 741, 111, 741, 371, 741, 111, 111, 372,
1008 111, 111, 373, 111, 741, 374, 111, 741, 741, 741,
1009 111, 741, 111, 111, 111, 111, 741, 111, 111, 111,
1010 741, 375, 111, 741, 111, 741, 741, 741, 111, 741,
1011 111, 741, 111, 741, 111, 111, 111, 111, 376, 741,
1012 741, 111, 377, 111, 741, 111, 741, 111, 741, 111,
1013 741, 111, 111, 111, 111, 111, 741, 378, 741, 741,
1014 111, 741, 111, 741, 379, 741, 111, 111, 380, 741,
1015 381, 111, 741, 111, 741, 741, 741, 111, 741, 111,
1016 741, 111, 741, 111, 111, 111, 111, 111, 741, 741,
vlmfa67ddc2004-06-03 03:38:44 +00001017
vlme745fcd2006-09-05 16:18:34 +00001018 111, 741, 111, 741, 111, 741, 111, 741, 111, 741,
1019 111, 741, 111, 111, 111, 111, 111, 741, 385, 111,
1020 741, 741, 386, 741, 741, 111, 111, 111, 111, 111,
1021 111, 111, 387, 741, 111, 111, 389, 111, 741, 384,
1022 741, 111, 741, 111, 393, 111, 741, 111, 741, 111,
1023 388, 111, 111, 390, 741, 111, 111, 391, 741, 741,
1024 741, 741, 111, 111, 111, 111, 111, 111, 392, 111,
1025 741, 111, 741, 111, 111, 111, 111, 111, 741, 741,
1026 394, 741, 111, 741, 111, 396, 111, 111, 111, 741,
1027 111, 741, 741, 741, 111, 111, 111, 111, 111, 111,
vlmfa67ddc2004-06-03 03:38:44 +00001028
vlme745fcd2006-09-05 16:18:34 +00001029 111, 111, 741, 111, 401, 397, 111, 741, 111, 741,
1030 111, 400, 111, 398, 111, 741, 741, 741, 111, 111,
1031 111, 111, 111, 741, 741, 741, 741, 111, 741, 111,
1032 741, 111, 402, 111, 741, 111, 403, 111, 741, 111,
1033 111, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1034 741, 111, 741, 111, 741, 111, 111, 111, 741, 111,
1035 741, 741, 741, 111, 111, 111, 111, 111, 741, 406,
1036 741, 405, 111, 741, 111, 741, 111, 111, 111, 741,
1037 111, 741, 741, 741, 111, 111, 111, 111, 111, 407,
1038 741, 111, 111, 111, 408, 111, 111, 741, 111, 741,
vlmfa67ddc2004-06-03 03:38:44 +00001039
vlme745fcd2006-09-05 16:18:34 +00001040 741, 741, 111, 741, 111, 111, 111, 111, 111, 111,
1041 111, 111, 111, 111, 111, 741, 111, 111, 741, 111,
1042 741, 741, 741, 111, 741, 111, 111, 111, 411, 111,
1043 111, 111, 111, 111, 741, 111, 111, 409, 412, 413,
1044 741, 741, 111, 741, 741, 741, 111, 741, 111, 741,
1045 111, 741, 111, 111, 111, 111, 111, 741, 741, 741,
1046 741, 111, 741, 111, 741, 111, 741, 111, 741, 111,
1047 415, 741, 111, 741, 352, 352, 352, 352, 414, 111,
1048 741, 111, 741, 111, 741, 741, 741, 741, 111, 353,
1049 353, 353, 353, 353, 353, 353, 353, 419, 419, 419,
vlm9283dbe2004-08-18 04:59:12 +00001050
vlme745fcd2006-09-05 16:18:34 +00001051 419, 741, 741, 741, 741, 741, 741, 741, 420, 741,
1052 741, 741, 353, 353, 353, 353, 353, 353, 353, 353,
1053 354, 354, 354, 354, 741, 741, 741, 741, 741, 741,
1054 741, 741, 741, 741, 741, 355, 355, 355, 355, 355,
1055 355, 355, 355, 420, 741, 111, 741, 355, 355, 355,
1056 355, 355, 355, 355, 355, 111, 741, 111, 741, 111,
1057 111, 425, 741, 424, 111, 741, 741, 741, 741, 741,
1058 111, 741, 111, 111, 111, 426, 111, 741, 421, 111,
1059 741, 741, 741, 111, 741, 111, 111, 111, 111, 741,
1060 111, 741, 111, 428, 111, 111, 741, 111, 429, 741,
vlm2c8c44d2005-03-24 16:22:35 +00001061
vlme745fcd2006-09-05 16:18:34 +00001062 111, 741, 741, 430, 111, 741, 111, 111, 111, 111,
1063 111, 111, 111, 111, 111, 111, 111, 741, 111, 111,
1064 741, 741, 741, 741, 741, 111, 111, 111, 111, 111,
1065 431, 741, 111, 741, 111, 741, 111, 111, 111, 111,
1066 111, 741, 432, 741, 741, 111, 433, 111, 741, 111,
1067 741, 111, 741, 111, 741, 741, 741, 434, 111, 111,
1068 111, 111, 741, 435, 741, 741, 111, 436, 741, 741,
1069 111, 111, 111, 437, 111, 741, 741, 111, 741, 111,
1070 438, 111, 741, 111, 439, 111, 741, 111, 111, 111,
1071 111, 111, 741, 741, 741, 741, 111, 741, 111, 111,
vlm2c8c44d2005-03-24 16:22:35 +00001072
vlme745fcd2006-09-05 16:18:34 +00001073 111, 741, 111, 741, 440, 741, 741, 111, 741, 111,
1074 741, 111, 741, 111, 111, 442, 741, 441, 111, 741,
1075 111, 741, 741, 741, 111, 741, 111, 741, 111, 741,
1076 111, 111, 111, 111, 111, 741, 741, 111, 443, 111,
1077 741, 111, 741, 111, 741, 111, 741, 111, 444, 445,
1078 111, 111, 111, 111, 741, 741, 111, 741, 741, 741,
1079 449, 741, 111, 111, 111, 111, 111, 111, 741, 741,
1080 111, 111, 111, 111, 450, 741, 451, 741, 741, 741,
1081 111, 741, 111, 111, 111, 111, 741, 111, 452, 111,
1082 111, 111, 111, 453, 741, 741, 741, 741, 741, 741,
vlm2c8c44d2005-03-24 16:22:35 +00001083
vlme745fcd2006-09-05 16:18:34 +00001084 111, 111, 454, 111, 111, 111, 111, 741, 741, 111,
1085 111, 741, 111, 741, 741, 456, 111, 741, 111, 741,
1086 111, 741, 111, 111, 111, 455, 111, 458, 741, 741,
1087 459, 111, 741, 111, 741, 111, 111, 111, 741, 741,
1088 457, 741, 111, 741, 111, 741, 111, 111, 111, 741,
1089 111, 741, 741, 741, 111, 111, 111, 111, 111, 111,
1090 111, 111, 461, 111, 741, 741, 111, 741, 111, 741,
1091 111, 741, 111, 741, 111, 741, 111, 741, 111, 111,
1092 462, 741, 111, 741, 111, 741, 111, 111, 111, 741,
1093 111, 741, 464, 741, 111, 111, 466, 111, 111, 741,
vlmb5abdc92005-07-02 21:42:40 +00001094
vlme745fcd2006-09-05 16:18:34 +00001095 741, 741, 741, 111, 741, 741, 741, 111, 741, 111,
1096 111, 111, 741, 111, 741, 467, 111, 469, 741, 741,
1097 111, 111, 111, 111, 111, 470, 471, 111, 741, 111,
1098 741, 111, 111, 111, 111, 111, 741, 741, 741, 741,
1099 111, 741, 741, 741, 111, 111, 111, 741, 111, 741,
1100 741, 111, 741, 111, 475, 111, 472, 111, 741, 111,
1101 741, 111, 111, 111, 111, 111, 741, 741, 741, 741,
1102 111, 741, 111, 111, 111, 741, 111, 741, 476, 741,
1103 741, 111, 741, 111, 741, 111, 741, 111, 482, 482,
1104 482, 482, 111, 741, 741, 741, 741, 741, 741, 741,
vlmb5abdc92005-07-02 21:42:40 +00001105
vlme745fcd2006-09-05 16:18:34 +00001106 741, 111, 741, 483, 483, 483, 483, 483, 483, 483,
1107 483, 111, 741, 111, 111, 111, 486, 111, 478, 741,
1108 111, 741, 741, 741, 111, 111, 111, 111, 111, 111,
1109 741, 111, 487, 111, 741, 111, 111, 489, 111, 111,
1110 741, 111, 741, 741, 111, 741, 741, 741, 111, 741,
1111 111, 111, 111, 111, 741, 111, 490, 111, 111, 741,
1112 111, 491, 741, 492, 111, 741, 741, 741, 111, 741,
1113 111, 741, 111, 741, 111, 111, 111, 111, 111, 741,
1114 741, 111, 741, 111, 741, 111, 741, 493, 741, 111,
1115 741, 111, 741, 111, 111, 111, 111, 741, 495, 494,
vlmb5abdc92005-07-02 21:42:40 +00001116
vlme745fcd2006-09-05 16:18:34 +00001117 111, 741, 111, 741, 741, 741, 111, 741, 111, 741,
1118 111, 741, 111, 741, 111, 111, 111, 741, 741, 111,
1119 496, 111, 497, 741, 741, 111, 741, 498, 741, 111,
1120 741, 111, 741, 111, 741, 111, 111, 111, 111, 111,
1121 741, 500, 111, 741, 111, 741, 111, 741, 499, 741,
1122 111, 741, 111, 111, 111, 111, 111, 741, 741, 111,
1123 741, 111, 741, 111, 741, 111, 501, 111, 741, 111,
1124 111, 111, 111, 111, 741, 741, 111, 741, 111, 741,
1125 111, 741, 111, 503, 111, 741, 111, 502, 111, 111,
1126 111, 504, 111, 111, 741, 111, 741, 508, 741, 741,
vlmb5abdc92005-07-02 21:42:40 +00001127
vlme745fcd2006-09-05 16:18:34 +00001128 741, 741, 111, 111, 111, 111, 111, 111, 111, 741,
1129 741, 111, 111, 741, 111, 509, 510, 741, 111, 741,
1130 111, 741, 111, 741, 111, 111, 111, 111, 111, 741,
1131 741, 111, 741, 111, 512, 111, 741, 111, 741, 111,
1132 741, 111, 511, 111, 111, 111, 111, 513, 741, 741,
1133 111, 741, 111, 514, 741, 741, 111, 741, 111, 741,
1134 111, 741, 111, 111, 111, 111, 111, 741, 741, 741,
1135 741, 111, 741, 111, 741, 111, 741, 111, 111, 515,
1136 741, 516, 111, 741, 111, 741, 741, 741, 111, 741,
1137 111, 741, 111, 741, 111, 111, 111, 111, 111, 741,
vlmb5abdc92005-07-02 21:42:40 +00001138
vlme745fcd2006-09-05 16:18:34 +00001139 741, 517, 741, 111, 741, 111, 741, 111, 111, 111,
1140 520, 111, 741, 741, 111, 741, 741, 741, 111, 111,
1141 522, 111, 111, 111, 741, 111, 741, 111, 741, 111,
1142 111, 111, 111, 111, 741, 525, 741, 524, 111, 741,
1143 111, 741, 111, 741, 111, 741, 111, 741, 741, 741,
1144 111, 111, 111, 741, 111, 111, 528, 741, 111, 111,
1145 527, 111, 741, 741, 741, 111, 741, 111, 111, 111,
1146 111, 111, 111, 111, 111, 111, 111, 111, 741, 111,
1147 111, 741, 741, 741, 741, 741, 111, 741, 111, 111,
1148 111, 111, 741, 111, 111, 111, 531, 741, 111, 482,
vlmb5abdc92005-07-02 21:42:40 +00001149
vlme745fcd2006-09-05 16:18:34 +00001150 482, 482, 482, 741, 111, 741, 111, 741, 111, 741,
1151 741, 741, 540, 111, 483, 483, 483, 483, 483, 483,
1152 483, 483, 537, 741, 741, 741, 483, 483, 483, 483,
1153 483, 483, 483, 483, 111, 111, 741, 741, 741, 741,
1154 741, 541, 741, 741, 111, 111, 111, 111, 111, 111,
1155 741, 111, 111, 111, 111, 543, 741, 741, 741, 741,
1156 741, 111, 111, 544, 111, 111, 111, 111, 111, 741,
1157 111, 111, 741, 741, 545, 546, 741, 111, 111, 111,
1158 111, 111, 111, 111, 111, 741, 111, 111, 741, 741,
1159 741, 741, 741, 111, 111, 111, 111, 111, 111, 111,
vlmb5abdc92005-07-02 21:42:40 +00001160
vlme745fcd2006-09-05 16:18:34 +00001161 741, 741, 111, 111, 741, 111, 547, 548, 741, 111,
1162 741, 111, 741, 111, 741, 111, 111, 111, 111, 111,
1163 741, 741, 111, 741, 111, 741, 111, 549, 111, 741,
1164 111, 741, 111, 111, 111, 111, 111, 741, 741, 741,
1165 741, 111, 741, 111, 111, 111, 741, 111, 741, 741,
1166 741, 550, 111, 741, 111, 111, 111, 741, 111, 741,
1167 741, 552, 551, 111, 741, 111, 741, 111, 741, 111,
1168 741, 111, 111, 111, 111, 111, 741, 741, 111, 741,
1169 111, 741, 553, 741, 111, 558, 111, 741, 111, 111,
1170 111, 111, 111, 741, 741, 741, 741, 111, 741, 111,
vlmb5abdc92005-07-02 21:42:40 +00001171
vlme745fcd2006-09-05 16:18:34 +00001172 111, 111, 741, 111, 741, 741, 111, 559, 111, 741,
1173 111, 741, 111, 741, 111, 741, 111, 111, 111, 111,
1174 111, 741, 741, 111, 741, 111, 561, 111, 741, 111,
1175 741, 111, 741, 111, 560, 111, 111, 111, 111, 111,
1176 741, 741, 111, 741, 741, 741, 741, 741, 111, 111,
1177 111, 111, 111, 111, 111, 563, 562, 111, 111, 741,
1178 111, 741, 741, 741, 111, 741, 111, 741, 111, 741,
1179 111, 111, 111, 111, 111, 741, 741, 111, 741, 111,
1180 741, 567, 741, 111, 741, 111, 741, 111, 111, 111,
1181 111, 111, 741, 741, 111, 741, 111, 741, 111, 741,
vlmb5abdc92005-07-02 21:42:40 +00001182
vlme745fcd2006-09-05 16:18:34 +00001183 111, 741, 111, 741, 111, 564, 111, 111, 111, 111,
1184 741, 741, 571, 111, 741, 111, 741, 741, 572, 111,
1185 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1186 575, 111, 741, 741, 111, 741, 580, 580, 580, 580,
1187 741, 111, 741, 111, 741, 111, 741, 741, 741, 741,
1188 111, 581, 581, 581, 581, 581, 581, 581, 581, 111,
1189 111, 585, 741, 741, 741, 741, 584, 741, 741, 111,
1190 111, 111, 111, 111, 111, 111, 741, 741, 111, 111,
1191 741, 741, 741, 111, 741, 111, 111, 111, 741, 111,
1192 741, 587, 741, 111, 111, 111, 111, 111, 589, 111,
vlmb5abdc92005-07-02 21:42:40 +00001193
vlme745fcd2006-09-05 16:18:34 +00001194 111, 588, 111, 741, 741, 111, 592, 111, 741, 111,
1195 741, 590, 741, 111, 741, 111, 741, 111, 111, 111,
1196 591, 111, 741, 111, 741, 111, 111, 111, 741, 111,
1197 741, 741, 741, 111, 111, 111, 111, 111, 741, 593,
1198 741, 741, 111, 741, 111, 741, 111, 741, 111, 741,
1199 111, 741, 111, 741, 111, 111, 111, 741, 111, 594,
1200 111, 741, 111, 111, 111, 741, 111, 741, 741, 741,
1201 111, 111, 111, 111, 111, 741, 599, 741, 741, 111,
1202 741, 111, 741, 111, 111, 111, 741, 111, 741, 741,
1203 741, 111, 111, 111, 111, 111, 111, 111, 111, 741,
vlmb5abdc92005-07-02 21:42:40 +00001204
vlme745fcd2006-09-05 16:18:34 +00001205 111, 741, 741, 111, 741, 111, 741, 111, 111, 111,
1206 741, 111, 600, 741, 741, 111, 111, 111, 111, 111,
1207 111, 111, 111, 741, 111, 608, 601, 111, 741, 111,
1208 741, 111, 741, 111, 741, 111, 741, 741, 741, 111,
1209 111, 111, 111, 111, 741, 111, 741, 741, 111, 741,
1210 741, 741, 111, 741, 111, 611, 111, 111, 741, 111,
1211 111, 111, 741, 741, 111, 580, 580, 580, 580, 741,
1212 111, 741, 111, 620, 111, 741, 741, 741, 111, 111,
1213 581, 581, 581, 581, 581, 581, 581, 581, 111, 111,
1214 111, 741, 111, 741, 741, 111, 741, 111, 741, 111,
vlmb5abdc92005-07-02 21:42:40 +00001215
vlme745fcd2006-09-05 16:18:34 +00001216 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1217 111, 111, 621, 622, 111, 741, 623, 741, 741, 741,
1218 111, 111, 111, 111, 111, 111, 111, 741, 741, 111,
1219 111, 741, 111, 741, 626, 741, 111, 741, 624, 741,
1220 111, 741, 111, 111, 111, 111, 111, 741, 741, 111,
1221 741, 111, 741, 627, 741, 111, 741, 111, 741, 111,
1222 111, 111, 111, 111, 741, 631, 741, 741, 111, 741,
1223 111, 111, 111, 632, 111, 741, 741, 111, 633, 111,
1224 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1225 111, 111, 741, 741, 111, 741, 111, 741, 111, 741,
vlmb5abdc92005-07-02 21:42:40 +00001226
vlme745fcd2006-09-05 16:18:34 +00001227 648, 741, 111, 741, 111, 741, 111, 111, 111, 111,
1228 111, 649, 741, 111, 741, 741, 741, 741, 741, 111,
1229 111, 111, 111, 111, 111, 111, 111, 741, 111, 111,
1230 741, 741, 741, 741, 741, 111, 111, 111, 111, 111,
1231 111, 111, 650, 741, 111, 111, 741, 111, 652, 741,
1232 741, 111, 741, 111, 741, 111, 741, 111, 111, 111,
1233 111, 111, 741, 741, 741, 741, 111, 741, 111, 111,
1234 656, 741, 111, 741, 741, 111, 741, 111, 741, 111,
1235 741, 111, 657, 111, 741, 111, 111, 111, 111, 111,
1236 741, 741, 111, 741, 111, 741, 111, 741, 111, 741,
vlm808411d2006-03-14 16:31:37 +00001237
vlme745fcd2006-09-05 16:18:34 +00001238 111, 741, 111, 111, 111, 111, 111, 741, 741, 741,
1239 741, 111, 741, 111, 111, 111, 741, 111, 741, 741,
1240 111, 672, 111, 741, 111, 741, 111, 741, 111, 741,
1241 111, 676, 677, 111, 111, 111, 111, 741, 741, 111,
1242 741, 741, 741, 741, 741, 111, 111, 111, 111, 111,
1243 111, 111, 111, 741, 111, 111, 741, 741, 692, 741,
1244 741, 111, 111, 111, 111, 111, 111, 741, 741, 741,
1245 111, 111, 55, 55, 55, 55, 55, 55, 55, 55,
1246 55, 55, 55, 55, 55, 60, 60, 60, 60, 60,
1247 60, 60, 60, 60, 60, 60, 60, 60, 65, 65,
vlmb5abdc92005-07-02 21:42:40 +00001248
vlme745fcd2006-09-05 16:18:34 +00001249 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1250 65, 68, 68, 68, 68, 68, 68, 68, 68, 68,
1251 68, 68, 68, 68, 77, 77, 77, 77, 77, 77,
1252 77, 77, 77, 77, 77, 77, 77, 92, 92, 92,
1253 92, 741, 92, 92, 92, 92, 92, 92, 92, 92,
1254 99, 99, 99, 741, 99, 741, 99, 741, 99, 168,
1255 168, 741, 168, 168, 172, 172, 741, 741, 172, 172,
1256 741, 172, 172, 172, 172, 172, 172, 176, 176, 176,
1257 176, 741, 176, 176, 176, 176, 176, 176, 176, 176,
1258 178, 178, 178, 178, 178, 178, 178, 178, 741, 178,
vlm066dc102005-08-22 12:23:54 +00001259
vlme745fcd2006-09-05 16:18:34 +00001260 178, 180, 741, 741, 741, 180, 180, 180, 180, 180,
1261 180, 180, 181, 741, 741, 741, 181, 181, 181, 181,
1262 181, 181, 181, 186, 186, 741, 186, 186, 190, 190,
1263 741, 190, 190, 192, 192, 741, 192, 192, 202, 741,
1264 202, 202, 117, 117, 741, 117, 117, 270, 741, 270,
1265 270, 277, 741, 277, 277, 279, 741, 279, 279, 280,
1266 741, 280, 280, 283, 283, 283, 283, 283, 283, 283,
1267 283, 283, 283, 283, 283, 283, 203, 203, 741, 203,
1268 203, 583, 583, 741, 583, 583, 583, 583, 583, 583,
1269 583, 583, 583, 583, 581, 581, 581, 741, 741, 741,
vlm066dc102005-08-22 12:23:54 +00001270
vlme745fcd2006-09-05 16:18:34 +00001271 581, 741, 741, 741, 741, 581, 17, 741, 741, 741,
1272 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1273 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1274 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1275 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1276 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1277 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1278 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1279 741, 741, 741, 741, 741, 741, 741, 741, 741, 741
vlmb5abdc92005-07-02 21:42:40 +00001280 } ;
1281
vlme745fcd2006-09-05 16:18:34 +00001282static yyconst short int yy_chk[4591] =
vlmb5abdc92005-07-02 21:42:40 +00001283 { 0,
1284 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1285 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1286 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1287 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1288 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1289 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1290 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1291 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
vlme745fcd2006-09-05 16:18:34 +00001292 1, 1, 1, 3, 3, 3, 4, 4, 4, 5,
1293 5, 5, 133, 11, 3, 9, 7, 4, 8, 9,
vlmb5abdc92005-07-02 21:42:40 +00001294
vlme745fcd2006-09-05 16:18:34 +00001295 5, 6, 6, 6, 7, 12, 8, 147, 132, 7,
1296 10, 8, 6, 739, 10, 11, 101, 29, 11, 29,
1297 7, 96, 8, 79, 79, 79, 79, 12, 738, 101,
1298 12, 19, 19, 19, 19, 81, 538, 133, 19, 20,
1299 20, 20, 20, 538, 196, 36, 20, 24, 24, 24,
1300 24, 36, 81, 96, 24, 36, 152, 36, 36, 36,
1301 142, 147, 24, 24, 36, 132, 26, 80, 80, 80,
1302 80, 11, 196, 11, 26, 26, 26, 26, 26, 26,
1303 26, 26, 161, 12, 81, 12, 13, 13, 13, 13,
vlm808411d2006-03-14 16:31:37 +00001304 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
vlmb5abdc92005-07-02 21:42:40 +00001305
vlme745fcd2006-09-05 16:18:34 +00001306 13, 13, 91, 91, 91, 91, 195, 164, 195, 152,
1307 13, 13, 13, 13, 13, 27, 142, 195, 327, 13,
1308 27, 41, 357, 27, 27, 27, 27, 27, 27, 27,
1309 27, 41, 357, 41, 268, 41, 229, 161, 165, 241,
1310 41, 13, 13, 13, 30, 44, 30, 30, 30, 30,
1311 30, 30, 30, 30, 230, 44, 193, 44, 251, 44,
1312 164, 382, 193, 30, 44, 327, 13, 13, 13, 14,
vlm808411d2006-03-14 16:31:37 +00001313 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
vlme745fcd2006-09-05 16:18:34 +00001314 14, 14, 14, 14, 14, 229, 165, 268, 241, 182,
1315 182, 44, 30, 14, 14, 14, 14, 14, 35, 165,
vlmb5abdc92005-07-02 21:42:40 +00001316
vlme745fcd2006-09-05 16:18:34 +00001317 182, 35, 14, 582, 37, 35, 382, 37, 35, 35,
1318 35, 35, 35, 230, 37, 251, 37, 35, 37, 38,
1319 286, 35, 401, 37, 14, 14, 14, 275, 275, 38,
1320 38, 38, 582, 38, 183, 183, 183, 183, 38, 422,
1321 735, 38, 734, 733, 422, 732, 401, 731, 286, 14,
1322 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
vlm808411d2006-03-14 16:31:37 +00001323 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1324 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1325 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1326 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1327
1328 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1329 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1330 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
vlme745fcd2006-09-05 16:18:34 +00001331 15, 15, 15, 15, 15, 23, 47, 730, 285, 47,
1332 285, 729, 419, 419, 419, 419, 47, 728, 47, 285,
1333 47, 727, 23, 726, 724, 47, 23, 23, 23, 23,
vlmb5abdc92005-07-02 21:42:40 +00001334 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1335 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
vlme745fcd2006-09-05 16:18:34 +00001336 23, 23, 311, 266, 23, 23, 23, 23, 23, 23,
1337 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
vlmb5abdc92005-07-02 21:42:40 +00001338
vlme745fcd2006-09-05 16:18:34 +00001339 23, 23, 23, 23, 23, 23, 23, 31, 245, 31,
1340 31, 31, 31, 31, 31, 31, 31, 39, 39, 262,
1341 267, 45, 45, 419, 463, 45, 31, 592, 39, 722,
1342 39, 45, 39, 45, 39, 45, 332, 39, 43, 43,
1343 45, 349, 311, 463, 721, 592, 43, 266, 312, 43,
1344 45, 43, 720, 43, 719, 31, 34, 245, 43, 34,
1345 34, 34, 34, 34, 34, 34, 34, 323, 262, 267,
1346 342, 383, 34, 34, 34, 34, 34, 34, 34, 34,
1347 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1348 34, 34, 34, 34, 34, 34, 34, 34, 332, 349,
vlmb5abdc92005-07-02 21:42:40 +00001349
vlme745fcd2006-09-05 16:18:34 +00001350 312, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1351 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1352 34, 34, 34, 40, 383, 348, 395, 323, 42, 42,
1353 399, 42, 342, 40, 418, 40, 363, 40, 404, 42,
1354 42, 42, 40, 42, 350, 384, 42, 555, 42, 409,
1355 46, 46, 417, 46, 410, 40, 414, 98, 98, 98,
1356 98, 46, 427, 46, 98, 46, 40, 46, 48, 446,
1357 46, 48, 98, 98, 348, 48, 49, 474, 48, 395,
1358 48, 416, 48, 404, 49, 49, 48, 48, 50, 418,
1359 350, 48, 399, 447, 46, 49, 363, 49, 50, 49,
vlmb5abdc92005-07-02 21:42:40 +00001360
vlme745fcd2006-09-05 16:18:34 +00001361 50, 49, 50, 410, 49, 384, 50, 50, 51, 409,
1362 717, 111, 414, 555, 417, 427, 716, 49, 51, 52,
1363 51, 111, 51, 111, 446, 111, 52, 51, 50, 52,
1364 111, 52, 715, 52, 54, 54, 54, 54, 52, 714,
1365 447, 416, 474, 448, 51, 488, 479, 473, 478, 54,
1366 54, 54, 54, 54, 54, 54, 54, 77, 169, 169,
1367 169, 169, 77, 77, 77, 77, 77, 77, 77, 77,
1368 77, 77, 77, 169, 169, 169, 169, 169, 169, 169,
1369 169, 77, 77, 77, 77, 77, 100, 112, 100, 100,
1370 100, 100, 100, 100, 100, 100, 448, 112, 459, 112,
vlmb5abdc92005-07-02 21:42:40 +00001371
vlme745fcd2006-09-05 16:18:34 +00001372 473, 112, 488, 506, 112, 100, 112, 479, 478, 713,
1373 707, 608, 77, 77, 77, 736, 706, 705, 704, 477,
1374 701, 102, 459, 102, 102, 102, 102, 102, 102, 102,
1375 102, 697, 696, 695, 100, 693, 519, 506, 77, 78,
1376 102, 608, 736, 480, 78, 78, 78, 78, 78, 78,
1377 78, 78, 78, 78, 78, 105, 105, 105, 105, 105,
1378 105, 105, 105, 78, 78, 78, 78, 78, 477, 102,
1379 519, 106, 105, 106, 106, 106, 106, 106, 106, 106,
1380 106, 78, 199, 199, 199, 199, 199, 199, 199, 199,
1381 106, 460, 480, 481, 78, 78, 78, 107, 468, 107,
vlmb5abdc92005-07-02 21:42:40 +00001382
vlme745fcd2006-09-05 16:18:34 +00001383 507, 105, 107, 107, 107, 107, 107, 107, 107, 107,
1384 200, 200, 200, 200, 200, 200, 200, 200, 521, 106,
1385 78, 108, 113, 108, 108, 108, 108, 108, 108, 108,
1386 108, 535, 113, 114, 113, 691, 113, 529, 460, 115,
1387 108, 113, 481, 114, 468, 114, 526, 114, 690, 115,
1388 689, 115, 114, 115, 534, 170, 114, 507, 115, 170,
1389 170, 170, 170, 170, 170, 170, 170, 521, 682, 108,
1390 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1391 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1392 110, 110, 116, 118, 529, 505, 535, 530, 118, 534,
vlmb5abdc92005-07-02 21:42:40 +00001393
vlme745fcd2006-09-05 16:18:34 +00001394 533, 526, 116, 118, 116, 118, 116, 118, 119, 120,
1395 116, 116, 118, 536, 679, 576, 542, 557, 119, 120,
1396 119, 120, 119, 120, 121, 554, 119, 119, 120, 505,
1397 122, 530, 556, 678, 121, 570, 121, 121, 121, 602,
1398 122, 566, 122, 121, 122, 123, 123, 536, 505, 122,
1399 574, 124, 124, 533, 573, 568, 123, 671, 123, 123,
1400 123, 579, 124, 125, 124, 123, 124, 542, 557, 564,
1401 578, 124, 576, 125, 125, 125, 126, 125, 596, 127,
1402 126, 577, 125, 595, 570, 670, 126, 554, 126, 127,
1403 126, 127, 602, 127, 556, 126, 129, 129, 127, 128,
vlmb5abdc92005-07-02 21:42:40 +00001404
vlme745fcd2006-09-05 16:18:34 +00001405 128, 128, 612, 566, 578, 573, 129, 130, 129, 128,
1406 129, 128, 574, 128, 129, 129, 568, 130, 128, 130,
1407 131, 130, 605, 579, 628, 134, 130, 596, 597, 564,
1408 131, 654, 131, 131, 131, 134, 577, 630, 135, 131,
1409 607, 135, 613, 595, 604, 134, 136, 134, 135, 134,
1410 135, 610, 135, 612, 134, 614, 136, 135, 136, 629,
1411 136, 137, 137, 634, 615, 136, 654, 737, 669, 605,
1412 664, 137, 138, 137, 607, 137, 613, 628, 137, 137,
1413 137, 653, 138, 139, 138, 138, 138, 655, 597, 140,
1414 630, 138, 636, 139, 737, 139, 662, 139, 639, 140,
vlmb5abdc92005-07-02 21:42:40 +00001415
vlme745fcd2006-09-05 16:18:34 +00001416 141, 140, 139, 140, 604, 139, 637, 629, 140, 641,
1417 141, 610, 141, 143, 141, 644, 144, 614, 645, 141,
1418 634, 143, 660, 143, 615, 143, 144, 143, 144, 145,
1419 144, 658, 143, 643, 144, 144, 698, 146, 653, 145,
1420 148, 145, 663, 145, 655, 636, 666, 146, 145, 146,
1421 148, 146, 148, 149, 148, 146, 146, 673, 148, 148,
1422 639, 659, 641, 149, 150, 149, 637, 149, 661, 651,
1423 667, 645, 149, 149, 150, 644, 150, 151, 150, 660,
1424 151, 681, 658, 150, 151, 665, 668, 151, 687, 151,
1425 647, 151, 153, 153, 674, 643, 151, 646, 698, 154,
vlmb5abdc92005-07-02 21:42:40 +00001426
vlme745fcd2006-09-05 16:18:34 +00001427 675, 710, 663, 153, 694, 153, 666, 153, 673, 154,
1428 155, 154, 153, 154, 154, 680, 156, 154, 154, 683,
1429 155, 661, 155, 667, 155, 158, 156, 157, 156, 155,
1430 156, 642, 156, 640, 155, 156, 638, 157, 158, 157,
1431 681, 157, 665, 668, 159, 687, 157, 674, 158, 159,
1432 158, 675, 158, 686, 159, 160, 159, 158, 159, 710,
1433 694, 162, 700, 159, 635, 160, 680, 160, 162, 160,
1434 685, 162, 683, 162, 160, 162, 166, 163, 163, 702,
1435 162, 163, 581, 581, 581, 581, 166, 163, 166, 163,
1436 166, 163, 718, 171, 166, 166, 163, 171, 171, 171,
vlmb5abdc92005-07-02 21:42:40 +00001437
vlme745fcd2006-09-05 16:18:34 +00001438 171, 171, 171, 171, 171, 197, 686, 197, 197, 197,
1439 197, 197, 197, 197, 197, 204, 205, 625, 204, 700,
1440 619, 685, 688, 618, 197, 204, 205, 204, 205, 204,
1441 205, 206, 207, 703, 204, 205, 702, 708, 609, 606,
1442 603, 206, 207, 206, 207, 206, 207, 208, 598, 586,
1443 206, 207, 718, 197, 202, 210, 583, 208, 211, 208,
1444 208, 208, 210, 581, 569, 210, 208, 210, 211, 210,
1445 211, 212, 211, 688, 210, 711, 712, 211, 565, 213,
1446 532, 212, 523, 212, 703, 212, 708, 518, 212, 213,
1447 212, 213, 485, 213, 616, 616, 616, 616, 213, 202,
vlmb5abdc92005-07-02 21:42:40 +00001448
vlme745fcd2006-09-05 16:18:34 +00001449 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
1450 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
1451 202, 214, 215, 484, 465, 423, 711, 712, 358, 215,
1452 356, 214, 215, 214, 215, 214, 215, 214, 216, 217,
1453 214, 215, 287, 280, 279, 278, 277, 276, 216, 217,
1454 216, 217, 216, 217, 218, 216, 273, 216, 217, 270,
1455 209, 203, 194, 192, 218, 190, 218, 188, 218, 219,
1456 219, 218, 218, 218, 186, 616, 220, 219, 181, 220,
1457 219, 179, 219, 174, 219, 168, 220, 221, 220, 219,
1458 220, 117, 109, 222, 103, 220, 99, 221, 97, 221,
vlmb5abdc92005-07-02 21:42:40 +00001459
vlme745fcd2006-09-05 16:18:34 +00001460 221, 221, 95, 222, 223, 222, 221, 222, 94, 93,
1461 224, 90, 222, 224, 223, 223, 223, 85, 223, 84,
1462 224, 225, 224, 223, 224, 83, 70, 226, 67, 224,
1463 226, 225, 63, 225, 225, 225, 62, 226, 227, 226,
1464 225, 226, 59, 58, 53, 32, 226, 28, 227, 228,
1465 227, 22, 227, 21, 18, 227, 17, 227, 0, 228,
1466 228, 228, 231, 228, 0, 0, 0, 0, 228, 0,
1467 232, 0, 231, 233, 231, 0, 231, 0, 0, 231,
1468 232, 231, 232, 233, 232, 233, 233, 233, 234, 232,
1469 0, 235, 233, 0, 236, 0, 0, 236, 234, 0,
vlmb5abdc92005-07-02 21:42:40 +00001470
vlme745fcd2006-09-05 16:18:34 +00001471 234, 235, 234, 235, 236, 235, 236, 234, 236, 235,
1472 235, 237, 238, 236, 0, 0, 0, 0, 0, 0,
1473 237, 0, 238, 239, 238, 0, 238, 0, 0, 0,
1474 237, 238, 237, 239, 237, 239, 240, 239, 0, 237,
1475 0, 0, 239, 0, 242, 0, 240, 242, 240, 0,
1476 240, 0, 0, 0, 242, 240, 242, 243, 242, 0,
1477 243, 0, 0, 242, 0, 244, 0, 243, 246, 243,
1478 0, 243, 244, 0, 0, 244, 243, 244, 246, 244,
1479 246, 247, 246, 0, 244, 0, 246, 246, 0, 248,
1480 0, 247, 0, 247, 0, 247, 0, 249, 0, 248,
vlmb5abdc92005-07-02 21:42:40 +00001481
vlme745fcd2006-09-05 16:18:34 +00001482 247, 248, 0, 248, 0, 250, 248, 249, 248, 249,
1483 0, 249, 0, 0, 249, 250, 249, 250, 252, 250,
1484 253, 253, 0, 0, 250, 250, 0, 0, 252, 254,
1485 252, 253, 252, 253, 0, 253, 0, 252, 0, 254,
1486 253, 254, 255, 254, 0, 0, 0, 0, 254, 0,
1487 256, 0, 255, 256, 255, 0, 255, 0, 257, 0,
1488 256, 255, 256, 0, 256, 257, 258, 0, 257, 256,
1489 257, 0, 257, 0, 0, 0, 258, 257, 258, 259,
1490 258, 0, 0, 0, 258, 258, 0, 260, 0, 259,
1491 0, 259, 0, 259, 0, 0, 259, 260, 259, 260,
vlmb5abdc92005-07-02 21:42:40 +00001492
vlme745fcd2006-09-05 16:18:34 +00001493 261, 260, 0, 261, 260, 0, 260, 0, 263, 0,
1494 261, 0, 261, 0, 261, 0, 0, 265, 263, 261,
1495 263, 263, 263, 263, 264, 265, 0, 263, 263, 0,
1496 0, 0, 0, 0, 264, 265, 264, 265, 264, 265,
1497 269, 0, 264, 264, 265, 0, 269, 0, 0, 0,
1498 269, 0, 269, 0, 269, 271, 271, 271, 271, 269,
1499 0, 0, 0, 272, 272, 272, 272, 0, 0, 0,
1500 271, 271, 271, 271, 271, 271, 271, 271, 272, 272,
1501 272, 272, 272, 272, 272, 272, 288, 289, 0, 0,
1502 0, 0, 0, 0, 289, 0, 288, 289, 288, 289,
vlmb5abdc92005-07-02 21:42:40 +00001503
vlme745fcd2006-09-05 16:18:34 +00001504 288, 289, 290, 0, 0, 288, 289, 0, 291, 0,
1505 0, 0, 290, 290, 290, 0, 290, 0, 291, 292,
1506 291, 290, 291, 0, 0, 293, 0, 291, 293, 292,
1507 0, 292, 0, 292, 0, 293, 0, 293, 292, 293,
1508 294, 294, 295, 295, 293, 0, 0, 0, 0, 0,
1509 0, 294, 295, 294, 295, 294, 295, 296, 0, 0,
1510 294, 295, 0, 0, 292, 297, 0, 296, 0, 296,
1511 0, 296, 0, 298, 296, 297, 296, 297, 297, 297,
1512 0, 0, 0, 298, 297, 298, 300, 298, 299, 299,
1513 0, 298, 298, 0, 0, 0, 300, 301, 300, 299,
vlmb5abdc92005-07-02 21:42:40 +00001514
vlme745fcd2006-09-05 16:18:34 +00001515 300, 299, 0, 299, 0, 300, 0, 301, 299, 301,
1516 302, 301, 302, 303, 0, 303, 301, 0, 0, 0,
1517 302, 0, 302, 303, 302, 303, 0, 303, 304, 302,
1518 0, 304, 303, 0, 305, 0, 0, 0, 304, 0,
1519 304, 0, 304, 0, 305, 306, 305, 304, 305, 0,
1520 0, 307, 306, 305, 0, 306, 0, 306, 0, 306,
1521 0, 307, 308, 307, 306, 307, 0, 307, 0, 0,
1522 307, 0, 308, 0, 308, 0, 308, 309, 308, 0,
1523 309, 308, 0, 310, 0, 0, 0, 309, 0, 309,
1524 0, 309, 0, 310, 313, 310, 309, 310, 0, 0,
vlmb5abdc92005-07-02 21:42:40 +00001525
vlme745fcd2006-09-05 16:18:34 +00001526 314, 0, 310, 0, 313, 0, 313, 0, 313, 0,
1527 314, 0, 314, 313, 314, 315, 316, 0, 314, 314,
1528 0, 0, 315, 0, 0, 315, 316, 315, 316, 315,
1529 316, 317, 316, 0, 315, 316, 318, 318, 0, 313,
1530 0, 317, 0, 317, 320, 317, 0, 318, 0, 318,
1531 317, 318, 319, 318, 0, 320, 318, 319, 0, 0,
1532 0, 0, 319, 321, 319, 320, 319, 320, 319, 320,
1533 0, 319, 0, 321, 320, 321, 322, 321, 0, 0,
1534 321, 0, 321, 0, 324, 324, 322, 325, 322, 0,
1535 322, 0, 0, 0, 324, 322, 324, 325, 324, 325,
vlmb5abdc92005-07-02 21:42:40 +00001536
vlme745fcd2006-09-05 16:18:34 +00001537 326, 325, 0, 324, 329, 325, 325, 0, 328, 0,
1538 326, 328, 326, 326, 326, 0, 0, 0, 328, 326,
1539 328, 329, 328, 0, 0, 0, 0, 328, 0, 330,
1540 0, 329, 330, 329, 0, 329, 331, 331, 0, 330,
1541 329, 330, 0, 330, 0, 333, 0, 331, 330, 331,
1542 0, 331, 0, 334, 0, 333, 331, 333, 0, 333,
1543 0, 0, 0, 334, 333, 334, 335, 334, 0, 335,
1544 0, 334, 334, 0, 336, 0, 335, 337, 335, 0,
1545 335, 0, 0, 0, 336, 335, 336, 337, 336, 337,
1546 0, 337, 339, 336, 338, 338, 337, 0, 340, 0,
vlmb5abdc92005-07-02 21:42:40 +00001547
vlme745fcd2006-09-05 16:18:34 +00001548 0, 0, 339, 0, 339, 338, 339, 338, 340, 338,
1549 340, 339, 340, 341, 338, 0, 343, 340, 0, 344,
1550 0, 0, 0, 341, 0, 341, 343, 341, 343, 344,
1551 343, 344, 341, 344, 0, 343, 345, 339, 344, 345,
1552 0, 0, 346, 0, 0, 0, 345, 0, 345, 0,
1553 345, 0, 346, 347, 346, 345, 346, 0, 0, 0,
1554 0, 346, 0, 347, 0, 347, 0, 347, 0, 351,
1555 347, 0, 347, 0, 352, 352, 352, 352, 346, 351,
1556 0, 351, 0, 351, 0, 0, 0, 0, 351, 352,
1557 352, 352, 352, 352, 352, 352, 352, 353, 353, 353,
vlmb5abdc92005-07-02 21:42:40 +00001558
vlme745fcd2006-09-05 16:18:34 +00001559 353, 0, 0, 0, 0, 0, 0, 0, 353, 0,
1560 0, 0, 353, 353, 353, 353, 353, 353, 353, 353,
1561 354, 354, 354, 354, 0, 0, 0, 0, 0, 0,
1562 0, 0, 0, 0, 0, 354, 354, 354, 354, 354,
1563 354, 354, 354, 355, 0, 359, 0, 355, 355, 355,
1564 355, 355, 355, 355, 355, 359, 0, 359, 0, 359,
1565 360, 360, 0, 359, 359, 0, 0, 0, 0, 0,
1566 360, 0, 360, 362, 360, 361, 361, 0, 353, 360,
1567 0, 0, 0, 362, 0, 362, 361, 362, 361, 0,
1568 361, 0, 362, 364, 364, 361, 0, 365, 365, 0,
vlmb5abdc92005-07-02 21:42:40 +00001569
vlme745fcd2006-09-05 16:18:34 +00001570 366, 0, 0, 366, 364, 0, 364, 365, 364, 365,
1571 366, 365, 366, 364, 366, 367, 365, 0, 368, 366,
1572 0, 0, 0, 0, 0, 367, 369, 367, 368, 367,
1573 368, 0, 368, 0, 367, 0, 369, 368, 369, 370,
1574 369, 0, 369, 0, 0, 369, 370, 371, 0, 370,
1575 0, 370, 0, 370, 0, 0, 0, 371, 370, 371,
1576 372, 371, 0, 372, 0, 0, 371, 372, 0, 0,
1577 372, 373, 372, 373, 372, 0, 0, 374, 0, 372,
1578 374, 373, 0, 373, 374, 373, 0, 374, 375, 374,
1579 373, 374, 0, 0, 0, 0, 374, 0, 375, 376,
vlmb5abdc92005-07-02 21:42:40 +00001580
vlme745fcd2006-09-05 16:18:34 +00001581 375, 0, 375, 0, 375, 0, 0, 375, 0, 376,
1582 0, 376, 0, 376, 377, 377, 0, 376, 376, 0,
1583 378, 0, 0, 0, 377, 0, 377, 0, 377, 0,
1584 378, 379, 378, 377, 378, 0, 0, 380, 378, 378,
1585 0, 379, 0, 379, 0, 379, 0, 380, 379, 380,
1586 379, 380, 381, 385, 0, 0, 380, 0, 0, 0,
1587 385, 0, 381, 385, 381, 385, 381, 385, 0, 0,
1588 387, 381, 385, 386, 386, 0, 386, 0, 0, 0,
1589 387, 0, 387, 386, 387, 386, 0, 386, 387, 387,
1590 389, 388, 386, 388, 0, 0, 0, 0, 0, 0,
vlmb5abdc92005-07-02 21:42:40 +00001591
vlme745fcd2006-09-05 16:18:34 +00001592 389, 388, 389, 388, 389, 388, 390, 0, 0, 389,
1593 388, 0, 391, 0, 0, 391, 390, 0, 390, 0,
1594 390, 0, 391, 392, 391, 390, 391, 393, 0, 0,
1595 394, 391, 0, 392, 0, 392, 393, 392, 0, 0,
1596 392, 0, 392, 0, 396, 0, 393, 394, 393, 0,
1597 393, 0, 0, 0, 396, 393, 396, 394, 396, 394,
1598 397, 394, 396, 396, 0, 0, 394, 0, 398, 0,
1599 397, 0, 397, 0, 397, 0, 400, 0, 398, 397,
1600 398, 0, 398, 0, 402, 0, 400, 398, 400, 0,
1601 400, 0, 400, 0, 402, 400, 402, 403, 402, 0,
vlmb5abdc92005-07-02 21:42:40 +00001602
vlme745fcd2006-09-05 16:18:34 +00001603 0, 0, 0, 402, 0, 0, 0, 403, 0, 403,
1604 405, 403, 0, 406, 0, 403, 403, 405, 0, 0,
1605 405, 407, 405, 406, 405, 406, 407, 406, 0, 405,
1606 0, 407, 406, 407, 408, 407, 0, 0, 0, 0,
1607 407, 0, 0, 0, 408, 411, 408, 0, 408, 0,
1608 0, 412, 0, 408, 412, 411, 408, 411, 0, 411,
1609 0, 412, 413, 412, 411, 412, 0, 0, 0, 0,
1610 412, 0, 413, 415, 413, 0, 413, 0, 413, 0,
1611 0, 413, 0, 415, 0, 415, 0, 415, 420, 420,
1612 420, 420, 415, 0, 0, 0, 0, 0, 0, 0,
vlmb5abdc92005-07-02 21:42:40 +00001613
vlme745fcd2006-09-05 16:18:34 +00001614 0, 424, 0, 420, 420, 420, 420, 420, 420, 420,
1615 420, 424, 0, 424, 426, 424, 425, 425, 415, 0,
1616 424, 0, 0, 0, 426, 428, 426, 425, 426, 425,
1617 0, 425, 426, 426, 0, 428, 425, 428, 429, 428,
1618 0, 430, 0, 0, 428, 0, 0, 0, 429, 0,
1619 429, 430, 429, 430, 0, 430, 429, 429, 431, 0,
1620 430, 431, 0, 432, 432, 0, 0, 0, 431, 0,
1621 431, 0, 431, 0, 432, 433, 432, 431, 432, 0,
1622 0, 434, 0, 432, 0, 433, 0, 433, 0, 433,
1623 0, 434, 0, 434, 433, 434, 435, 0, 435, 434,
vlmb5abdc92005-07-02 21:42:40 +00001624
vlme745fcd2006-09-05 16:18:34 +00001625 434, 0, 436, 0, 0, 0, 435, 0, 435, 0,
1626 435, 0, 436, 0, 436, 435, 436, 0, 0, 437,
1627 436, 436, 437, 0, 0, 438, 0, 438, 0, 437,
1628 0, 437, 0, 437, 0, 438, 439, 438, 437, 438,
1629 0, 440, 440, 0, 438, 0, 439, 0, 439, 0,
1630 439, 0, 440, 441, 440, 439, 440, 0, 0, 442,
1631 0, 440, 0, 441, 0, 441, 442, 441, 0, 442,
1632 443, 442, 441, 442, 0, 0, 444, 0, 442, 0,
1633 443, 0, 443, 444, 443, 0, 444, 443, 444, 443,
1634 444, 445, 445, 449, 0, 444, 0, 449, 0, 0,
vlmb5abdc92005-07-02 21:42:40 +00001635
vlme745fcd2006-09-05 16:18:34 +00001636 0, 0, 445, 449, 445, 449, 445, 449, 450, 0,
1637 0, 445, 449, 0, 451, 450, 451, 0, 450, 0,
1638 450, 0, 450, 0, 451, 452, 451, 450, 451, 0,
1639 0, 453, 0, 451, 453, 452, 0, 452, 0, 452,
1640 0, 453, 452, 453, 452, 453, 454, 454, 0, 0,
1641 453, 0, 455, 455, 0, 0, 454, 0, 454, 0,
1642 454, 0, 455, 456, 455, 454, 455, 0, 0, 0,
1643 0, 455, 0, 456, 0, 456, 0, 456, 457, 456,
1644 0, 457, 456, 0, 458, 0, 0, 0, 457, 0,
1645 457, 0, 457, 0, 458, 461, 458, 457, 458, 0,
vlmb5abdc92005-07-02 21:42:40 +00001646
vlme745fcd2006-09-05 16:18:34 +00001647 0, 458, 0, 458, 0, 461, 0, 461, 464, 461,
1648 462, 462, 0, 0, 461, 0, 0, 0, 464, 466,
1649 464, 462, 464, 462, 0, 462, 0, 464, 0, 466,
1650 462, 466, 467, 466, 0, 467, 0, 466, 466, 0,
1651 469, 0, 467, 0, 467, 0, 467, 0, 0, 0,
1652 469, 467, 469, 0, 469, 470, 470, 0, 471, 469,
1653 469, 472, 0, 0, 0, 470, 0, 470, 471, 470,
1654 471, 472, 471, 472, 470, 472, 475, 471, 0, 476,
1655 472, 0, 0, 0, 0, 0, 475, 0, 475, 476,
1656 475, 476, 0, 476, 486, 475, 476, 0, 476, 482,
vlmb5abdc92005-07-02 21:42:40 +00001657
vlme745fcd2006-09-05 16:18:34 +00001658 482, 482, 482, 0, 486, 0, 486, 0, 486, 0,
1659 0, 0, 486, 486, 482, 482, 482, 482, 482, 482,
1660 482, 482, 483, 0, 0, 0, 483, 483, 483, 483,
1661 483, 483, 483, 483, 487, 489, 0, 0, 0, 0,
1662 0, 487, 0, 0, 487, 489, 487, 489, 487, 489,
1663 0, 491, 490, 487, 489, 490, 0, 0, 0, 0,
1664 0, 491, 490, 491, 490, 491, 490, 492, 493, 0,
1665 491, 490, 0, 0, 492, 493, 0, 492, 493, 492,
1666 493, 492, 493, 494, 495, 0, 492, 493, 0, 0,
1667 0, 0, 0, 494, 495, 494, 495, 494, 495, 496,
vlmb5abdc92005-07-02 21:42:40 +00001668
vlme745fcd2006-09-05 16:18:34 +00001669 0, 0, 494, 495, 0, 497, 496, 497, 0, 496,
1670 0, 496, 0, 496, 0, 497, 498, 497, 496, 497,
1671 0, 0, 499, 0, 497, 0, 498, 499, 498, 0,
1672 498, 0, 499, 500, 499, 498, 499, 0, 0, 0,
1673 0, 499, 0, 500, 501, 500, 0, 500, 0, 0,
1674 0, 500, 500, 0, 501, 502, 501, 0, 501, 0,
1675 0, 503, 501, 501, 0, 502, 0, 502, 0, 502,
1676 0, 503, 504, 503, 502, 503, 0, 0, 508, 0,
1677 503, 0, 504, 0, 504, 508, 504, 0, 508, 509,
1678 508, 504, 508, 0, 0, 0, 0, 508, 0, 509,
vlmb5abdc92005-07-02 21:42:40 +00001679
vlme745fcd2006-09-05 16:18:34 +00001680 510, 509, 0, 509, 0, 0, 511, 509, 509, 0,
1681 510, 0, 510, 0, 510, 0, 511, 512, 511, 510,
1682 511, 0, 0, 513, 0, 511, 513, 512, 0, 512,
1683 0, 512, 0, 513, 512, 513, 512, 513, 514, 515,
1684 0, 0, 513, 0, 0, 0, 0, 0, 514, 515,
1685 514, 515, 514, 515, 516, 516, 514, 514, 515, 0,
1686 517, 0, 0, 0, 516, 0, 516, 0, 516, 0,
1687 517, 520, 517, 516, 517, 0, 0, 522, 0, 517,
1688 0, 520, 0, 520, 0, 520, 0, 522, 524, 522,
1689 520, 522, 0, 0, 525, 0, 522, 0, 524, 0,
vlmb5abdc92005-07-02 21:42:40 +00001690
vlme745fcd2006-09-05 16:18:34 +00001691 524, 0, 524, 0, 525, 517, 525, 524, 525, 527,
1692 0, 0, 527, 525, 0, 528, 0, 0, 528, 527,
1693 0, 527, 0, 527, 0, 528, 0, 528, 527, 528,
1694 531, 531, 0, 0, 528, 0, 537, 537, 537, 537,
1695 0, 531, 0, 531, 0, 531, 0, 0, 0, 0,
1696 531, 537, 537, 537, 537, 537, 537, 537, 537, 540,
1697 541, 541, 0, 0, 0, 0, 540, 0, 0, 540,
1698 541, 540, 541, 540, 541, 543, 0, 0, 540, 541,
1699 0, 0, 0, 544, 0, 543, 545, 543, 0, 543,
1700 0, 543, 0, 544, 543, 544, 545, 544, 545, 546,
vlmb5abdc92005-07-02 21:42:40 +00001701
vlme745fcd2006-09-05 16:18:34 +00001702 545, 544, 544, 0, 0, 545, 549, 547, 0, 546,
1703 0, 546, 0, 546, 0, 548, 0, 547, 546, 547,
1704 547, 547, 0, 549, 0, 548, 547, 548, 0, 548,
1705 0, 0, 0, 549, 548, 549, 550, 549, 0, 550,
1706 0, 0, 549, 0, 551, 0, 550, 0, 550, 0,
1707 550, 0, 552, 0, 551, 550, 551, 0, 551, 552,
1708 553, 0, 552, 551, 552, 0, 552, 0, 0, 0,
1709 553, 552, 553, 558, 553, 0, 558, 0, 0, 553,
1710 0, 559, 0, 558, 560, 558, 0, 558, 0, 0,
1711 0, 559, 558, 559, 560, 559, 560, 561, 560, 0,
vlmb5abdc92005-07-02 21:42:40 +00001712
vlme745fcd2006-09-05 16:18:34 +00001713 559, 0, 0, 560, 0, 562, 0, 561, 563, 561,
1714 0, 561, 562, 0, 0, 562, 561, 562, 563, 562,
1715 563, 567, 563, 0, 562, 571, 563, 563, 0, 572,
1716 0, 567, 0, 567, 0, 567, 0, 0, 0, 572,
1717 567, 572, 571, 572, 0, 575, 0, 0, 572, 0,
1718 0, 0, 571, 0, 571, 575, 571, 575, 0, 575,
1719 584, 571, 0, 0, 575, 580, 580, 580, 580, 0,
1720 584, 0, 584, 584, 584, 0, 0, 0, 585, 584,
1721 580, 580, 580, 580, 580, 580, 580, 580, 585, 587,
1722 585, 0, 585, 0, 0, 588, 0, 585, 0, 587,
vlmb5abdc92005-07-02 21:42:40 +00001723
vlme745fcd2006-09-05 16:18:34 +00001724 0, 587, 0, 587, 0, 588, 0, 588, 587, 588,
1725 589, 590, 588, 589, 588, 0, 590, 0, 0, 0,
1726 589, 590, 589, 590, 589, 590, 591, 0, 0, 589,
1727 590, 0, 593, 0, 593, 0, 591, 0, 591, 0,
1728 591, 0, 593, 594, 593, 591, 593, 0, 0, 599,
1729 0, 593, 0, 594, 0, 594, 0, 594, 0, 599,
1730 600, 599, 594, 599, 0, 599, 0, 0, 599, 0,
1731 600, 601, 600, 600, 600, 0, 0, 611, 601, 600,
1732 0, 601, 0, 601, 0, 601, 0, 611, 620, 611,
1733 601, 611, 0, 0, 621, 0, 611, 0, 620, 0,
vlmb5abdc92005-07-02 21:42:40 +00001734
vlme745fcd2006-09-05 16:18:34 +00001735 620, 0, 620, 0, 621, 0, 621, 620, 621, 622,
1736 623, 622, 0, 621, 0, 0, 0, 0, 0, 622,
1737 623, 622, 623, 622, 623, 624, 626, 0, 622, 623,
1738 0, 0, 0, 0, 0, 624, 626, 624, 626, 624,
1739 626, 627, 624, 0, 624, 626, 0, 631, 627, 0,
1740 0, 627, 0, 627, 0, 627, 0, 631, 632, 631,
1741 627, 631, 0, 0, 0, 0, 631, 0, 632, 633,
1742 632, 0, 632, 0, 0, 648, 0, 632, 0, 633,
1743 0, 633, 633, 633, 0, 648, 649, 648, 633, 648,
1744 0, 0, 650, 0, 648, 0, 649, 0, 649, 0,
vlmb5abdc92005-07-02 21:42:40 +00001745
vlme745fcd2006-09-05 16:18:34 +00001746 649, 0, 650, 652, 650, 649, 650, 0, 0, 0,
1747 0, 650, 0, 652, 656, 652, 0, 652, 0, 0,
1748 657, 652, 652, 0, 656, 0, 656, 0, 656, 0,
1749 657, 656, 657, 656, 657, 672, 676, 0, 0, 657,
1750 0, 0, 0, 0, 0, 672, 676, 672, 676, 672,
1751 676, 677, 692, 0, 672, 676, 0, 0, 672, 0,
1752 0, 677, 692, 677, 692, 677, 692, 0, 0, 0,
1753 677, 692, 742, 742, 742, 742, 742, 742, 742, 742,
1754 742, 742, 742, 742, 742, 743, 743, 743, 743, 743,
1755 743, 743, 743, 743, 743, 743, 743, 743, 744, 744,
vlm066dc102005-08-22 12:23:54 +00001756
vlme745fcd2006-09-05 16:18:34 +00001757 744, 744, 744, 744, 744, 744, 744, 744, 744, 744,
1758 744, 745, 745, 745, 745, 745, 745, 745, 745, 745,
1759 745, 745, 745, 745, 746, 746, 746, 746, 746, 746,
1760 746, 746, 746, 746, 746, 746, 746, 747, 747, 747,
1761 747, 0, 747, 747, 747, 747, 747, 747, 747, 747,
1762 748, 748, 748, 0, 748, 0, 748, 0, 748, 749,
1763 749, 0, 749, 749, 750, 750, 0, 0, 750, 750,
1764 0, 750, 750, 750, 750, 750, 750, 751, 751, 751,
1765 751, 0, 751, 751, 751, 751, 751, 751, 751, 751,
1766 752, 752, 752, 752, 752, 752, 752, 752, 0, 752,
vlm066dc102005-08-22 12:23:54 +00001767
vlme745fcd2006-09-05 16:18:34 +00001768 752, 753, 0, 0, 0, 753, 753, 753, 753, 753,
1769 753, 753, 754, 0, 0, 0, 754, 754, 754, 754,
1770 754, 754, 754, 755, 755, 0, 755, 755, 756, 756,
1771 0, 756, 756, 757, 757, 0, 757, 757, 758, 0,
1772 758, 758, 759, 759, 0, 759, 759, 760, 0, 760,
1773 760, 761, 0, 761, 761, 762, 0, 762, 762, 763,
1774 0, 763, 763, 764, 764, 764, 764, 764, 764, 764,
1775 764, 764, 764, 764, 764, 764, 765, 765, 0, 765,
1776 765, 766, 766, 0, 766, 766, 766, 766, 766, 766,
1777 766, 766, 766, 766, 767, 767, 767, 0, 0, 0,
vlm808411d2006-03-14 16:31:37 +00001778
vlme745fcd2006-09-05 16:18:34 +00001779 767, 0, 0, 0, 0, 767, 741, 741, 741, 741,
1780 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1781 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1782 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1783 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1784 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1785 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1786 741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
1787 741, 741, 741, 741, 741, 741, 741, 741, 741, 741
vlmfa67ddc2004-06-03 03:38:44 +00001788 } ;
1789
1790extern int yy_flex_debug;
1791int yy_flex_debug = 1;
1792
vlme745fcd2006-09-05 16:18:34 +00001793static yyconst short int yy_rule_linenum[138] =
vlmfa67ddc2004-06-03 03:38:44 +00001794 { 0,
vlme745fcd2006-09-05 16:18:34 +00001795 96, 97, 99, 102, 104, 107, 109, 110, 111, 114,
1796 116, 117, 118, 130, 137, 144, 150, 159, 167, 175,
1797 176, 178, 197, 203, 204, 205, 206, 207, 210, 216,
1798 223, 230, 237, 244, 251, 252, 253, 261, 262, 263,
1799 264, 265, 270, 271, 272, 273, 274, 275, 276, 277,
1800 278, 279, 280, 289, 290, 291, 292, 293, 294, 295,
1801 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
1802 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1803 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1804 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
vlmfa67ddc2004-06-03 03:38:44 +00001805
vlme745fcd2006-09-05 16:18:34 +00001806 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1807 346, 351, 352, 357, 358, 359, 362, 367, 373, 381,
1808 391, 396, 398, 399, 403, 408, 413, 419, 420, 422,
1809 428, 441, 444, 469, 513, 515, 526
vlmfa67ddc2004-06-03 03:38:44 +00001810 } ;
1811
1812static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
1813static char *yy_full_match;
1814static int yy_lp;
1815#define REJECT \
1816{ \
1817*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
1818yy_cp = yy_full_match; /* restore poss. backed-over text */ \
1819++yy_lp; \
1820goto find_rule; \
1821}
1822#define yymore() yymore_used_but_not_detected
1823#define YY_MORE_ADJ 0
1824#define YY_RESTORE_YY_MORE_OFFSET
1825char *yytext;
1826#line 1 "asn1p_l.l"
1827#define INITIAL 0
1828#line 2 "asn1p_l.l"
1829
1830#include <string.h>
1831#include <errno.h>
1832#include <assert.h>
1833
1834#include "asn1parser.h"
1835#include "asn1p_y.h"
1836
1837int asn1p_lex(void);
1838void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
1839void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
vlm9283dbe2004-08-18 04:59:12 +00001840void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
vlmfa67ddc2004-06-03 03:38:44 +00001841
1842#define YY_FATAL_ERROR(msg) do { \
1843 fprintf(stderr, \
1844 "lexer error at line %d, " \
1845 "text \"%s\"\n", \
1846 yylineno, yytext); \
1847 exit(1); \
1848 } while(0)
1849
1850int asn1p_lexer_pedantic_1990 = 0;
1851int asn1p_lexer_types_year = 0;
1852int asn1p_lexer_constructs_year = 0;
vlmfa67ddc2004-06-03 03:38:44 +00001853
vlm066dc102005-08-22 12:23:54 +00001854int asn1p_as_pointer;
1855
vlma6a84d72006-03-16 10:03:35 +00001856static asn1c_integer_t _lex_atoi(const char *ptr);
vlme745fcd2006-09-05 16:18:34 +00001857static double _lex_atod(const char *ptr);
vlma6a84d72006-03-16 10:03:35 +00001858
vlmfa67ddc2004-06-03 03:38:44 +00001859/*
1860 * Check that the type is defined in the year of the standard choosen.
1861 */
1862#define TYPE_LIFETIME(fyr, lyr) \
1863 (!asn1p_lexer_types_year \
1864 || (fyr && fyr <= asn1p_lexer_types_year) \
1865 || (lyr && lyr > asn1p_lexer_types_year))
1866
1867/*
1868 * Check the the construction (or concept, i.e. CLASS) is defined in
1869 * a given year.
1870 */
1871#define CONSTRUCT_LIFETIME(fyr, lyr) \
1872 (!asn1p_lexer_constructs_year \
1873 || (fyr && fyr <= asn1p_lexer_constructs_year) \
1874 || (lyr && lyr > asn1p_lexer_constructs_year))
1875
1876/*
vlmfa67ddc2004-06-03 03:38:44 +00001877 * Append quoted string.
1878 */
1879#define QAPPEND(text, tlen) do { \
1880 char *prev_text = asn1p_lval.tv_opaque.buf; \
1881 int prev_len = asn1p_lval.tv_opaque.len; \
1882 char *p; \
1883 \
1884 p = malloc((tlen) + prev_len + 1); \
1885 if(p == NULL) return -1; \
1886 \
1887 if(prev_text) memcpy(p, prev_text, prev_len); \
1888 memcpy(p + prev_len, text, tlen); \
1889 p[prev_len + (tlen)] = '\0'; \
1890 \
1891 free(asn1p_lval.tv_opaque.buf); \
1892 asn1p_lval.tv_opaque.buf = p; \
1893 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
1894 } while(0)
1895
1896#define YY_NEVER_INTERACTIVE 1
1897#define YY_NO_INPUT 1
vlmfa67ddc2004-06-03 03:38:44 +00001898#define YY_STACK_USED 1
1899/* Performance penalty is OK */
1900/* Controlled from within application */
1901#define dash_comment 1
1902
vlmb5abdc92005-07-02 21:42:40 +00001903#define idash_comment 2
vlmfa67ddc2004-06-03 03:38:44 +00001904
vlmb5abdc92005-07-02 21:42:40 +00001905#define cpp_comment 3
vlmfa67ddc2004-06-03 03:38:44 +00001906
vlmb5abdc92005-07-02 21:42:40 +00001907#define quoted 4
vlmfa67ddc2004-06-03 03:38:44 +00001908
vlmb5abdc92005-07-02 21:42:40 +00001909#define opaque 5
vlm9283dbe2004-08-18 04:59:12 +00001910
vlmb5abdc92005-07-02 21:42:40 +00001911#define encoding_control 6
1912
1913#define with_syntax 7
vlmfa67ddc2004-06-03 03:38:44 +00001914
1915/* Newline */
1916/* White-space */
vlme745fcd2006-09-05 16:18:34 +00001917#line 1918 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00001918
1919/* Macros after this point can all be overridden by user definitions in
1920 * section 1.
1921 */
1922
1923#ifndef YY_SKIP_YYWRAP
1924#ifdef __cplusplus
1925extern "C" int yywrap YY_PROTO(( void ));
1926#else
1927extern int yywrap YY_PROTO(( void ));
1928#endif
1929#endif
1930
1931#ifndef YY_NO_UNPUT
1932static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1933#endif
1934
1935#ifndef yytext_ptr
1936static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1937#endif
1938
1939#ifdef YY_NEED_STRLEN
1940static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1941#endif
1942
1943#ifndef YY_NO_INPUT
1944#ifdef __cplusplus
1945static int yyinput YY_PROTO(( void ));
1946#else
1947static int input YY_PROTO(( void ));
1948#endif
1949#endif
1950
1951#if YY_STACK_USED
1952static int yy_start_stack_ptr = 0;
1953static int yy_start_stack_depth = 0;
1954static int *yy_start_stack = 0;
1955#ifndef YY_NO_PUSH_STATE
1956static void yy_push_state YY_PROTO(( int new_state ));
1957#endif
1958#ifndef YY_NO_POP_STATE
1959static void yy_pop_state YY_PROTO(( void ));
1960#endif
1961#ifndef YY_NO_TOP_STATE
1962static int yy_top_state YY_PROTO(( void ));
1963#endif
1964
1965#else
1966#define YY_NO_PUSH_STATE 1
1967#define YY_NO_POP_STATE 1
1968#define YY_NO_TOP_STATE 1
1969#endif
1970
1971#ifdef YY_MALLOC_DECL
1972YY_MALLOC_DECL
1973#else
1974#if __STDC__
1975#ifndef __cplusplus
1976#include <stdlib.h>
1977#endif
1978#else
1979/* Just try to get by without declaring the routines. This will fail
1980 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1981 * or sizeof(void*) != sizeof(int).
1982 */
1983#endif
1984#endif
1985
1986/* Amount of stuff to slurp up with each read. */
1987#ifndef YY_READ_BUF_SIZE
1988#define YY_READ_BUF_SIZE 8192
1989#endif
1990
1991/* Copy whatever the last rule matched to the standard output. */
1992
1993#ifndef ECHO
1994/* This used to be an fputs(), but since the string might contain NUL's,
1995 * we now use fwrite().
1996 */
1997#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1998#endif
1999
2000/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2001 * is returned in "result".
2002 */
2003#ifndef YY_INPUT
2004#define YY_INPUT(buf,result,max_size) \
2005 if ( yy_current_buffer->yy_is_interactive ) \
2006 { \
2007 int c = '*', n; \
2008 for ( n = 0; n < max_size && \
2009 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2010 buf[n] = (char) c; \
2011 if ( c == '\n' ) \
2012 buf[n++] = (char) c; \
2013 if ( c == EOF && ferror( yyin ) ) \
2014 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2015 result = n; \
2016 } \
vlm0c6d3812006-03-21 03:40:38 +00002017 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
2018 && ferror( yyin ) ) \
2019 YY_FATAL_ERROR( "input in flex scanner failed" );
vlmfa67ddc2004-06-03 03:38:44 +00002020#endif
2021
2022/* No semi-colon after return; correct usage is to write "yyterminate();" -
2023 * we don't want an extra ';' after the "return" because that will cause
2024 * some compilers to complain about unreachable statements.
2025 */
2026#ifndef yyterminate
2027#define yyterminate() return YY_NULL
2028#endif
2029
2030/* Number of entries by which start-condition stack grows. */
2031#ifndef YY_START_STACK_INCR
2032#define YY_START_STACK_INCR 25
2033#endif
2034
2035/* Report a fatal error. */
2036#ifndef YY_FATAL_ERROR
2037#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2038#endif
2039
2040/* Default declaration of generated scanner - a define so the user can
2041 * easily add parameters.
2042 */
2043#ifndef YY_DECL
2044#define YY_DECL int yylex YY_PROTO(( void ))
2045#endif
2046
2047/* Code executed at the beginning of each rule, after yytext and yyleng
2048 * have been set up.
2049 */
2050#ifndef YY_USER_ACTION
2051#define YY_USER_ACTION
2052#endif
2053
2054/* Code executed at the end of each rule. */
2055#ifndef YY_BREAK
2056#define YY_BREAK break;
2057#endif
2058
2059#define YY_RULE_SETUP \
2060 YY_USER_ACTION
2061
2062YY_DECL
2063 {
2064 register yy_state_type yy_current_state;
2065 register char *yy_cp, *yy_bp;
2066 register int yy_act;
2067
vlme745fcd2006-09-05 16:18:34 +00002068#line 94 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002069
2070
vlme745fcd2006-09-05 16:18:34 +00002071#line 2072 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00002072
2073 if ( yy_init )
2074 {
2075 yy_init = 0;
2076
2077#ifdef YY_USER_INIT
2078 YY_USER_INIT;
2079#endif
2080
2081 if ( ! yy_start )
2082 yy_start = 1; /* first start state */
2083
2084 if ( ! yyin )
2085 yyin = stdin;
2086
2087 if ( ! yyout )
2088 yyout = stdout;
2089
2090 if ( ! yy_current_buffer )
2091 yy_current_buffer =
2092 yy_create_buffer( yyin, YY_BUF_SIZE );
2093
2094 yy_load_buffer_state();
2095 }
2096
2097 while ( 1 ) /* loops until end-of-file is reached */
2098 {
2099 yy_cp = yy_c_buf_p;
2100
2101 /* Support of yytext. */
2102 *yy_cp = yy_hold_char;
2103
2104 /* yy_bp points to the position in yy_ch_buf of the start of
2105 * the current run.
2106 */
2107 yy_bp = yy_cp;
2108
2109 yy_current_state = yy_start;
2110 yy_state_ptr = yy_state_buf;
2111 *yy_state_ptr++ = yy_current_state;
2112yy_match:
2113 do
2114 {
2115 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2116 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2117 {
2118 yy_current_state = (int) yy_def[yy_current_state];
vlme745fcd2006-09-05 16:18:34 +00002119 if ( yy_current_state >= 742 )
vlmfa67ddc2004-06-03 03:38:44 +00002120 yy_c = yy_meta[(unsigned int) yy_c];
2121 }
2122 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2123 *yy_state_ptr++ = yy_current_state;
2124 ++yy_cp;
2125 }
vlme745fcd2006-09-05 16:18:34 +00002126 while ( yy_base[yy_current_state] != 4507 );
vlmfa67ddc2004-06-03 03:38:44 +00002127
2128yy_find_action:
2129 yy_current_state = *--yy_state_ptr;
2130 yy_lp = yy_accept[yy_current_state];
vlme745fcd2006-09-05 16:18:34 +00002131goto find_rule; /* avoid `defined but not used' warning */
vlmfa67ddc2004-06-03 03:38:44 +00002132find_rule: /* we branch to this label when backing up */
2133 for ( ; ; ) /* until we find what rule we matched */
2134 {
2135 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
2136 {
2137 yy_act = yy_acclist[yy_lp];
2138 {
2139 yy_full_match = yy_cp;
2140 break;
2141 }
2142 }
2143 --yy_cp;
2144 yy_current_state = *--yy_state_ptr;
2145 yy_lp = yy_accept[yy_current_state];
2146 }
2147
2148 YY_DO_BEFORE_ACTION;
2149
2150 if ( yy_act != YY_END_OF_BUFFER )
2151 {
2152 int yyl;
2153 for ( yyl = 0; yyl < yyleng; ++yyl )
2154 if ( yytext[yyl] == '\n' )
2155 ++yylineno;
2156 }
2157
2158do_action: /* This label is used only to access EOF actions. */
2159
2160 if ( yy_flex_debug )
2161 {
2162 if ( yy_act == 0 )
2163 fprintf( stderr, "--scanner backing up\n" );
vlme745fcd2006-09-05 16:18:34 +00002164 else if ( yy_act < 138 )
vlmfa67ddc2004-06-03 03:38:44 +00002165 fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
2166 yy_rule_linenum[yy_act], yytext );
vlme745fcd2006-09-05 16:18:34 +00002167 else if ( yy_act == 138 )
vlmfa67ddc2004-06-03 03:38:44 +00002168 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2169 yytext );
vlme745fcd2006-09-05 16:18:34 +00002170 else if ( yy_act == 139 )
vlmfa67ddc2004-06-03 03:38:44 +00002171 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2172 else
2173 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2174 }
2175
2176 switch ( yy_act )
2177 { /* beginning of action switch */
2178case 1:
vlmb5abdc92005-07-02 21:42:40 +00002179*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2180yy_c_buf_p = yy_cp -= 1;
2181YY_DO_BEFORE_ACTION; /* set up yytext again */
vlmfa67ddc2004-06-03 03:38:44 +00002182YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002183#line 96 "asn1p_l.l"
vlmb5abdc92005-07-02 21:42:40 +00002184/* Immediately terminated long comment */
2185 YY_BREAK
2186case 2:
2187*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2188yy_c_buf_p = yy_cp -= 1;
2189YY_DO_BEFORE_ACTION; /* set up yytext again */
2190YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002191#line 97 "asn1p_l.l"
vlmb5abdc92005-07-02 21:42:40 +00002192yy_push_state(idash_comment); /* Incorrect, but acceptable */
2193 YY_BREAK
2194
2195case 3:
2196YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002197#line 99 "asn1p_l.l"
vlmb5abdc92005-07-02 21:42:40 +00002198yy_pop_state(); /* Acceptable end of comment */
2199 YY_BREAK
2200
2201case 4:
2202YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002203#line 102 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002204asn1p_as_pointer = 1;
2205 YY_BREAK
2206case 5:
2207YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002208#line 104 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002209yy_push_state(dash_comment);
2210 YY_BREAK
2211
vlmb5abdc92005-07-02 21:42:40 +00002212case 6:
vlmfa67ddc2004-06-03 03:38:44 +00002213YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002214#line 107 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002215yy_pop_state();
vlmfa67ddc2004-06-03 03:38:44 +00002216 YY_BREAK
vlmb5abdc92005-07-02 21:42:40 +00002217case 7:
vlmfa67ddc2004-06-03 03:38:44 +00002218YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002219#line 109 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002220yy_pop_state(); /* End of comment */
vlmfa67ddc2004-06-03 03:38:44 +00002221 YY_BREAK
vlmb5abdc92005-07-02 21:42:40 +00002222case 8:
2223YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002224#line 110 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002225/* Eat single dash */
vlm066dc102005-08-22 12:23:54 +00002226 YY_BREAK
2227case 9:
2228YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002229#line 111 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002230/* Eat */
vlm066dc102005-08-22 12:23:54 +00002231 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002232
vlm066dc102005-08-22 12:23:54 +00002233case 10:
2234YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002235#line 114 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002236yy_push_state(cpp_comment);
vlmb5abdc92005-07-02 21:42:40 +00002237 YY_BREAK
2238
vlm066dc102005-08-22 12:23:54 +00002239case 11:
vlmb5abdc92005-07-02 21:42:40 +00002240YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002241#line 116 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002242/* Eat */
vlmb5abdc92005-07-02 21:42:40 +00002243 YY_BREAK
vlmb5abdc92005-07-02 21:42:40 +00002244case 12:
vlmfa67ddc2004-06-03 03:38:44 +00002245YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002246#line 117 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002247yy_pop_state();
vlm066dc102005-08-22 12:23:54 +00002248 YY_BREAK
2249case 13:
2250YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002251#line 118 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002252/* Eat */
2253 YY_BREAK
2254
2255/*
2256 * This is state is being set from corresponding .y module when
2257 * higher-level data is necessary to make proper parsing of the
2258 * underlying data. Thus, we enter the <opaque> state and save
2259 * everything for later processing.
2260 */
2261
vlm177a5b62005-09-05 05:17:57 +00002262case 14:
vlmfa67ddc2004-06-03 03:38:44 +00002263YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002264#line 130 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002265{
2266 yy_push_state(opaque);
2267 asn1p_lval.tv_opaque.buf = strdup(yytext);
2268 asn1p_lval.tv_opaque.len = yyleng;
2269 return TOK_opaque;
2270 }
2271 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002272case 15:
vlmfa67ddc2004-06-03 03:38:44 +00002273YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002274#line 137 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002275{
2276 yy_pop_state();
2277 asn1p_lval.tv_opaque.buf = strdup(yytext);
2278 asn1p_lval.tv_opaque.len = yyleng;
2279 return TOK_opaque;
2280 }
2281 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002282case 16:
vlmfa67ddc2004-06-03 03:38:44 +00002283YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002284#line 144 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002285{
2286 asn1p_lval.tv_opaque.buf = strdup(yytext);
2287 asn1p_lval.tv_opaque.len = yyleng;
2288 return TOK_opaque;
2289 }
2290 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002291case 17:
vlmfa67ddc2004-06-03 03:38:44 +00002292YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002293#line 150 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002294{
2295 fprintf(stderr,
2296 "ASN.1 Parser syncronization failure: "
2297 "\"%s\" at line %d must not appear "
2298 "inside value definition\n",
2299 yytext, yylineno);
2300 return -1;
2301 }
2302 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002303case 18:
vlmfa67ddc2004-06-03 03:38:44 +00002304YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002305#line 159 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002306{
2307 asn1p_lval.tv_opaque.buf = strdup(yytext);
2308 asn1p_lval.tv_opaque.len = yyleng;
2309 return TOK_opaque;
2310 }
2311 YY_BREAK
2312
vlm177a5b62005-09-05 05:17:57 +00002313case 19:
vlmfa67ddc2004-06-03 03:38:44 +00002314YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002315#line 167 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002316{
2317 asn1p_lval.tv_opaque.buf = 0;
2318 asn1p_lval.tv_opaque.len = 0;
2319 QAPPEND(yytext+1, yyleng-1);
2320 yy_push_state(quoted);
2321 }
2322 YY_BREAK
2323
vlm177a5b62005-09-05 05:17:57 +00002324case 20:
vlmfa67ddc2004-06-03 03:38:44 +00002325YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002326#line 175 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002327{ QAPPEND(yytext, yyleng-1); } /* Add a single quote */
2328 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002329case 21:
vlmfa67ddc2004-06-03 03:38:44 +00002330YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002331#line 176 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002332{ QAPPEND(yytext, yyleng); }
2333 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002334case 22:
vlmfa67ddc2004-06-03 03:38:44 +00002335YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002336#line 178 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002337{
2338 yy_pop_state();
2339 /* Do not append last quote:
2340 // QAPPEND(yytext, yyleng); */
2341
2342 if(asn1p_lexer_pedantic_1990
2343 && strchr(yytext, '\n')) {
2344 fprintf(stderr, "%s: "
2345 "Newlines are prohibited by ASN.1:1990\n",
2346 asn1p_lval.tv_opaque.buf);
2347 return -1;
2348 }
2349
2350 return TOK_cstring;
2351 }
2352 YY_BREAK
2353
vlm9283dbe2004-08-18 04:59:12 +00002354
vlm177a5b62005-09-05 05:17:57 +00002355case 23:
vlmfa67ddc2004-06-03 03:38:44 +00002356YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002357#line 197 "asn1p_l.l"
vlm9283dbe2004-08-18 04:59:12 +00002358{
2359 const char *s = "ENCODING-CONTROL";
2360 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2361 for(; p >= s; p--) unput(*p);
2362 yy_pop_state();
2363 }
2364 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002365case 24:
2366YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002367#line 203 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002368unput('D'); unput('N'); unput('E'); yy_pop_state();
2369 YY_BREAK
2370case 25:
2371YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002372#line 204 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002373
2374 YY_BREAK
vlmb5abdc92005-07-02 21:42:40 +00002375case 26:
2376YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002377#line 205 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002378
vlmb5abdc92005-07-02 21:42:40 +00002379 YY_BREAK
2380case 27:
2381YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002382#line 206 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002383/* Eat everything else */
vlm066dc102005-08-22 12:23:54 +00002384 YY_BREAK
2385case 28:
2386YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002387#line 207 "asn1p_l.l"
vlm066dc102005-08-22 12:23:54 +00002388
2389 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002390
vlm066dc102005-08-22 12:23:54 +00002391case 29:
2392YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002393#line 210 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002394{
2395 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2396 asn1p_lval.tv_str = yytext;
2397 return TOK_hstring;
2398 }
2399 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002400case 30:
vlmfa67ddc2004-06-03 03:38:44 +00002401YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002402#line 216 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002403{
2404 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2405 asn1p_lval.tv_str = strdup(yytext);
2406 return TOK_bstring;
2407 }
2408 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002409case 31:
vlmfa67ddc2004-06-03 03:38:44 +00002410YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002411#line 223 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002412{
vlma6a84d72006-03-16 10:03:35 +00002413 asn1p_lval.a_int = _lex_atoi(yytext);
vlmfa67ddc2004-06-03 03:38:44 +00002414 if(errno == ERANGE)
2415 return -1;
2416 return TOK_number_negative;
2417 }
2418 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002419case 32:
2420YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002421#line 230 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002422{
vlma6a84d72006-03-16 10:03:35 +00002423 asn1p_lval.a_int = _lex_atoi(yytext);
vlm177a5b62005-09-05 05:17:57 +00002424 if(errno == ERANGE)
2425 return -1;
2426 return TOK_number;
2427 }
2428 YY_BREAK
2429case 33:
2430YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002431#line 237 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002432{
vlma6a84d72006-03-16 10:03:35 +00002433 asn1p_lval.a_int = _lex_atoi(yytext);
vlm177a5b62005-09-05 05:17:57 +00002434 if(errno == ERANGE)
2435 return -1;
2436 return TOK_number;
2437 }
2438 YY_BREAK
vlm066dc102005-08-22 12:23:54 +00002439case 34:
vlmfa67ddc2004-06-03 03:38:44 +00002440YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002441#line 244 "asn1p_l.l"
2442{
2443 asn1p_lval.a_dbl = _lex_atod(yytext);
2444 if(errno == ERANGE)
2445 return -1;
2446 return TOK_realnumber;
2447 }
vlmfa67ddc2004-06-03 03:38:44 +00002448 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002449case 35:
vlmfa67ddc2004-06-03 03:38:44 +00002450YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002451#line 251 "asn1p_l.l"
2452return TOK_ABSENT;
vlmfa67ddc2004-06-03 03:38:44 +00002453 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002454case 36:
vlmfa67ddc2004-06-03 03:38:44 +00002455YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002456#line 252 "asn1p_l.l"
2457return TOK_ALL;
2458 YY_BREAK
2459case 37:
2460YY_RULE_SETUP
2461#line 253 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002462{
2463 /* Appeared in 1990, removed in 1997 */
2464 if(TYPE_LIFETIME(1990, 1997))
2465 return TOK_ANY;
2466 fprintf(stderr, "Keyword \"%s\" at line %d "
2467 "is obsolete\n", yytext, yylineno);
2468 REJECT;
2469 }
2470 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002471case 38:
2472YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002473#line 261 "asn1p_l.l"
2474return TOK_APPLICATION;
vlm177a5b62005-09-05 05:17:57 +00002475 YY_BREAK
vlmb5abdc92005-07-02 21:42:40 +00002476case 39:
2477YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002478#line 262 "asn1p_l.l"
2479return TOK_AUTOMATIC;
vlmb5abdc92005-07-02 21:42:40 +00002480 YY_BREAK
2481case 40:
2482YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002483#line 263 "asn1p_l.l"
2484return TOK_BEGIN;
vlm066dc102005-08-22 12:23:54 +00002485 YY_BREAK
2486case 41:
2487YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002488#line 264 "asn1p_l.l"
2489return TOK_BIT;
2490 YY_BREAK
2491case 42:
2492YY_RULE_SETUP
2493#line 265 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002494{
2495 if(TYPE_LIFETIME(1994, 0))
2496 return TOK_BMPString;
2497 REJECT;
2498 }
2499 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002500case 43:
2501YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002502#line 270 "asn1p_l.l"
2503return TOK_BOOLEAN;
vlm177a5b62005-09-05 05:17:57 +00002504 YY_BREAK
vlmfa67ddc2004-06-03 03:38:44 +00002505case 44:
2506YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002507#line 271 "asn1p_l.l"
2508return TOK_BY;
vlmfa67ddc2004-06-03 03:38:44 +00002509 YY_BREAK
2510case 45:
2511YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002512#line 272 "asn1p_l.l"
2513return TOK_CHARACTER;
vlm9283dbe2004-08-18 04:59:12 +00002514 YY_BREAK
2515case 46:
2516YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002517#line 273 "asn1p_l.l"
2518return TOK_CHOICE;
vlm9283dbe2004-08-18 04:59:12 +00002519 YY_BREAK
2520case 47:
2521YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002522#line 274 "asn1p_l.l"
2523return TOK_CLASS;
vlm9283dbe2004-08-18 04:59:12 +00002524 YY_BREAK
2525case 48:
2526YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002527#line 275 "asn1p_l.l"
2528return TOK_COMPONENT;
vlmb5abdc92005-07-02 21:42:40 +00002529 YY_BREAK
2530case 49:
2531YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002532#line 276 "asn1p_l.l"
2533return TOK_COMPONENTS;
vlmb5abdc92005-07-02 21:42:40 +00002534 YY_BREAK
2535case 50:
2536YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002537#line 277 "asn1p_l.l"
2538return TOK_CONSTRAINED;
vlmb5abdc92005-07-02 21:42:40 +00002539 YY_BREAK
2540case 51:
2541YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002542#line 278 "asn1p_l.l"
2543return TOK_CONTAINING;
vlm066dc102005-08-22 12:23:54 +00002544 YY_BREAK
2545case 52:
2546YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002547#line 279 "asn1p_l.l"
2548return TOK_DEFAULT;
2549 YY_BREAK
2550case 53:
2551YY_RULE_SETUP
2552#line 280 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002553{
2554 /* Appeared in 1990, removed in 1997 */
2555 if(TYPE_LIFETIME(1990, 1997))
2556 return TOK_DEFINED;
2557 fprintf(stderr, "Keyword \"%s\" at line %d "
2558 "is obsolete\n", yytext, yylineno);
2559 /* Deprecated since */
2560 REJECT;
2561 }
2562 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002563case 54:
2564YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002565#line 289 "asn1p_l.l"
2566return TOK_DEFINITIONS;
vlm177a5b62005-09-05 05:17:57 +00002567 YY_BREAK
vlmfa67ddc2004-06-03 03:38:44 +00002568case 55:
2569YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002570#line 290 "asn1p_l.l"
2571return TOK_EMBEDDED;
vlmfa67ddc2004-06-03 03:38:44 +00002572 YY_BREAK
2573case 56:
2574YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002575#line 291 "asn1p_l.l"
2576return TOK_ENCODED;
vlmfa67ddc2004-06-03 03:38:44 +00002577 YY_BREAK
2578case 57:
2579YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002580#line 292 "asn1p_l.l"
2581return TOK_ENCODING_CONTROL;
vlmfa67ddc2004-06-03 03:38:44 +00002582 YY_BREAK
2583case 58:
2584YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002585#line 293 "asn1p_l.l"
2586return TOK_END;
vlmfa67ddc2004-06-03 03:38:44 +00002587 YY_BREAK
2588case 59:
2589YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002590#line 294 "asn1p_l.l"
2591return TOK_ENUMERATED;
vlmfa67ddc2004-06-03 03:38:44 +00002592 YY_BREAK
2593case 60:
2594YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002595#line 295 "asn1p_l.l"
2596return TOK_EXCEPT;
vlmfa67ddc2004-06-03 03:38:44 +00002597 YY_BREAK
2598case 61:
2599YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002600#line 296 "asn1p_l.l"
2601return TOK_EXPLICIT;
vlmfa67ddc2004-06-03 03:38:44 +00002602 YY_BREAK
2603case 62:
2604YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002605#line 297 "asn1p_l.l"
2606return TOK_EXPORTS;
vlmfa67ddc2004-06-03 03:38:44 +00002607 YY_BREAK
2608case 63:
2609YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002610#line 298 "asn1p_l.l"
2611return TOK_EXTENSIBILITY;
vlmfa67ddc2004-06-03 03:38:44 +00002612 YY_BREAK
2613case 64:
2614YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002615#line 299 "asn1p_l.l"
2616return TOK_EXTERNAL;
vlmfa67ddc2004-06-03 03:38:44 +00002617 YY_BREAK
2618case 65:
2619YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002620#line 300 "asn1p_l.l"
2621return TOK_FALSE;
vlmfa67ddc2004-06-03 03:38:44 +00002622 YY_BREAK
2623case 66:
2624YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002625#line 301 "asn1p_l.l"
2626return TOK_FROM;
vlmfa67ddc2004-06-03 03:38:44 +00002627 YY_BREAK
2628case 67:
2629YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002630#line 302 "asn1p_l.l"
2631return TOK_GeneralizedTime;
vlmfa67ddc2004-06-03 03:38:44 +00002632 YY_BREAK
2633case 68:
2634YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002635#line 303 "asn1p_l.l"
2636return TOK_GeneralString;
vlmfa67ddc2004-06-03 03:38:44 +00002637 YY_BREAK
2638case 69:
2639YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002640#line 304 "asn1p_l.l"
2641return TOK_GraphicString;
vlmfa67ddc2004-06-03 03:38:44 +00002642 YY_BREAK
2643case 70:
2644YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002645#line 305 "asn1p_l.l"
2646return TOK_IA5String;
vlmfa67ddc2004-06-03 03:38:44 +00002647 YY_BREAK
2648case 71:
2649YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002650#line 306 "asn1p_l.l"
2651return TOK_IDENTIFIER;
vlmfa67ddc2004-06-03 03:38:44 +00002652 YY_BREAK
2653case 72:
2654YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002655#line 307 "asn1p_l.l"
2656return TOK_IMPLICIT;
vlmfa67ddc2004-06-03 03:38:44 +00002657 YY_BREAK
2658case 73:
2659YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002660#line 308 "asn1p_l.l"
2661return TOK_IMPLIED;
vlmfa67ddc2004-06-03 03:38:44 +00002662 YY_BREAK
2663case 74:
2664YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002665#line 309 "asn1p_l.l"
2666return TOK_IMPORTS;
vlmfa67ddc2004-06-03 03:38:44 +00002667 YY_BREAK
2668case 75:
2669YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002670#line 310 "asn1p_l.l"
2671return TOK_INCLUDES;
vlmfa67ddc2004-06-03 03:38:44 +00002672 YY_BREAK
2673case 76:
2674YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002675#line 311 "asn1p_l.l"
2676return TOK_INSTANCE;
vlmfa67ddc2004-06-03 03:38:44 +00002677 YY_BREAK
2678case 77:
2679YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002680#line 312 "asn1p_l.l"
2681return TOK_INSTRUCTIONS;
vlmfa67ddc2004-06-03 03:38:44 +00002682 YY_BREAK
2683case 78:
2684YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002685#line 313 "asn1p_l.l"
2686return TOK_INTEGER;
vlmfa67ddc2004-06-03 03:38:44 +00002687 YY_BREAK
2688case 79:
2689YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002690#line 314 "asn1p_l.l"
2691return TOK_INTERSECTION;
vlmfa67ddc2004-06-03 03:38:44 +00002692 YY_BREAK
2693case 80:
2694YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002695#line 315 "asn1p_l.l"
2696return TOK_ISO646String;
vlmfa67ddc2004-06-03 03:38:44 +00002697 YY_BREAK
2698case 81:
2699YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002700#line 316 "asn1p_l.l"
2701return TOK_MAX;
vlmfa67ddc2004-06-03 03:38:44 +00002702 YY_BREAK
2703case 82:
2704YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002705#line 317 "asn1p_l.l"
2706return TOK_MIN;
vlmfa67ddc2004-06-03 03:38:44 +00002707 YY_BREAK
2708case 83:
2709YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002710#line 318 "asn1p_l.l"
2711return TOK_MINUS_INFINITY;
vlmfa67ddc2004-06-03 03:38:44 +00002712 YY_BREAK
2713case 84:
2714YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002715#line 319 "asn1p_l.l"
2716return TOK_NULL;
vlmfa67ddc2004-06-03 03:38:44 +00002717 YY_BREAK
2718case 85:
2719YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002720#line 320 "asn1p_l.l"
2721return TOK_NumericString;
vlmfa67ddc2004-06-03 03:38:44 +00002722 YY_BREAK
2723case 86:
2724YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002725#line 321 "asn1p_l.l"
2726return TOK_OBJECT;
vlmfa67ddc2004-06-03 03:38:44 +00002727 YY_BREAK
2728case 87:
2729YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002730#line 322 "asn1p_l.l"
2731return TOK_ObjectDescriptor;
vlmfa67ddc2004-06-03 03:38:44 +00002732 YY_BREAK
2733case 88:
2734YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002735#line 323 "asn1p_l.l"
2736return TOK_OCTET;
vlmfa67ddc2004-06-03 03:38:44 +00002737 YY_BREAK
2738case 89:
2739YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002740#line 324 "asn1p_l.l"
2741return TOK_OF;
vlmfa67ddc2004-06-03 03:38:44 +00002742 YY_BREAK
2743case 90:
2744YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002745#line 325 "asn1p_l.l"
2746return TOK_OPTIONAL;
vlmfa67ddc2004-06-03 03:38:44 +00002747 YY_BREAK
2748case 91:
2749YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002750#line 326 "asn1p_l.l"
2751return TOK_PATTERN;
vlmfa67ddc2004-06-03 03:38:44 +00002752 YY_BREAK
2753case 92:
2754YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002755#line 327 "asn1p_l.l"
2756return TOK_PDV;
vlmfa67ddc2004-06-03 03:38:44 +00002757 YY_BREAK
2758case 93:
2759YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002760#line 328 "asn1p_l.l"
2761return TOK_PLUS_INFINITY;
vlmfa67ddc2004-06-03 03:38:44 +00002762 YY_BREAK
2763case 94:
2764YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002765#line 329 "asn1p_l.l"
2766return TOK_PRESENT;
vlmfa67ddc2004-06-03 03:38:44 +00002767 YY_BREAK
2768case 95:
2769YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002770#line 330 "asn1p_l.l"
2771return TOK_PrintableString;
vlmfa67ddc2004-06-03 03:38:44 +00002772 YY_BREAK
2773case 96:
2774YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002775#line 331 "asn1p_l.l"
2776return TOK_PRIVATE;
vlmfa67ddc2004-06-03 03:38:44 +00002777 YY_BREAK
2778case 97:
2779YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002780#line 332 "asn1p_l.l"
2781return TOK_REAL;
vlmfa67ddc2004-06-03 03:38:44 +00002782 YY_BREAK
2783case 98:
2784YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002785#line 333 "asn1p_l.l"
2786return TOK_RELATIVE_OID;
vlmfa67ddc2004-06-03 03:38:44 +00002787 YY_BREAK
2788case 99:
2789YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002790#line 334 "asn1p_l.l"
2791return TOK_SEQUENCE;
vlmfa67ddc2004-06-03 03:38:44 +00002792 YY_BREAK
2793case 100:
2794YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002795#line 335 "asn1p_l.l"
2796return TOK_SET;
vlmfa67ddc2004-06-03 03:38:44 +00002797 YY_BREAK
2798case 101:
2799YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002800#line 336 "asn1p_l.l"
2801return TOK_SIZE;
vlmfa67ddc2004-06-03 03:38:44 +00002802 YY_BREAK
2803case 102:
2804YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002805#line 337 "asn1p_l.l"
2806return TOK_STRING;
vlm9283dbe2004-08-18 04:59:12 +00002807 YY_BREAK
2808case 103:
2809YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002810#line 338 "asn1p_l.l"
2811return TOK_SYNTAX;
vlm9283dbe2004-08-18 04:59:12 +00002812 YY_BREAK
2813case 104:
2814YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002815#line 339 "asn1p_l.l"
2816return TOK_T61String;
vlm9283dbe2004-08-18 04:59:12 +00002817 YY_BREAK
2818case 105:
2819YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002820#line 340 "asn1p_l.l"
2821return TOK_TAGS;
vlm9283dbe2004-08-18 04:59:12 +00002822 YY_BREAK
2823case 106:
2824YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002825#line 341 "asn1p_l.l"
2826return TOK_TeletexString;
vlm9283dbe2004-08-18 04:59:12 +00002827 YY_BREAK
2828case 107:
2829YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002830#line 342 "asn1p_l.l"
2831return TOK_TRUE;
vlmb5abdc92005-07-02 21:42:40 +00002832 YY_BREAK
2833case 108:
2834YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002835#line 343 "asn1p_l.l"
2836return TOK_UNION;
vlmb5abdc92005-07-02 21:42:40 +00002837 YY_BREAK
2838case 109:
2839YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002840#line 344 "asn1p_l.l"
2841return TOK_UNIQUE;
vlmb5abdc92005-07-02 21:42:40 +00002842 YY_BREAK
2843case 110:
2844YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002845#line 345 "asn1p_l.l"
2846return TOK_UNIVERSAL;
2847 YY_BREAK
2848case 111:
2849YY_RULE_SETUP
2850#line 346 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002851{
2852 if(TYPE_LIFETIME(1994, 0))
2853 return TOK_UniversalString;
2854 REJECT;
2855 }
2856 YY_BREAK
vlmb8958092006-03-06 11:28:17 +00002857case 112:
vlmfa67ddc2004-06-03 03:38:44 +00002858YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002859#line 351 "asn1p_l.l"
2860return TOK_UTCTime;
2861 YY_BREAK
2862case 113:
2863YY_RULE_SETUP
2864#line 352 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002865{
2866 if(TYPE_LIFETIME(1994, 0))
2867 return TOK_UTF8String;
2868 REJECT;
2869 }
2870 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002871case 114:
2872YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002873#line 357 "asn1p_l.l"
2874return TOK_VideotexString;
vlm177a5b62005-09-05 05:17:57 +00002875 YY_BREAK
2876case 115:
2877YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002878#line 358 "asn1p_l.l"
2879return TOK_VisibleString;
vlm177a5b62005-09-05 05:17:57 +00002880 YY_BREAK
vlmb5abdc92005-07-02 21:42:40 +00002881case 116:
2882YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002883#line 359 "asn1p_l.l"
2884return TOK_WITH;
2885 YY_BREAK
2886case 117:
2887YY_RULE_SETUP
2888#line 362 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002889{
vlmfa67ddc2004-06-03 03:38:44 +00002890 asn1p_lval.tv_str = strdup(yytext);
2891 return TOK_typefieldreference;
2892 }
2893 YY_BREAK
vlme745fcd2006-09-05 16:18:34 +00002894case 118:
vlmfa67ddc2004-06-03 03:38:44 +00002895YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002896#line 367 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002897{
vlmfa67ddc2004-06-03 03:38:44 +00002898 asn1p_lval.tv_str = strdup(yytext);
2899 return TOK_valuefieldreference;
2900 }
2901 YY_BREAK
vlme745fcd2006-09-05 16:18:34 +00002902case 119:
vlmfa67ddc2004-06-03 03:38:44 +00002903YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002904#line 373 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002905{
vlmfa67ddc2004-06-03 03:38:44 +00002906 asn1p_lval.tv_str = strdup(yytext);
2907 return TOK_identifier;
2908 }
2909 YY_BREAK
2910/*
2911 * objectclassreference
2912 */
vlme745fcd2006-09-05 16:18:34 +00002913case 120:
vlmfa67ddc2004-06-03 03:38:44 +00002914YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002915#line 381 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002916{
vlmfa67ddc2004-06-03 03:38:44 +00002917 asn1p_lval.tv_str = strdup(yytext);
vlm9283dbe2004-08-18 04:59:12 +00002918 return TOK_capitalreference;
vlmfa67ddc2004-06-03 03:38:44 +00002919 }
2920 YY_BREAK
2921/*
2922 * typereference, modulereference
2923 * NOTE: TOK_objectclassreference must be combined
2924 * with this token to produce true typereference.
2925 */
vlme745fcd2006-09-05 16:18:34 +00002926case 121:
vlmfa67ddc2004-06-03 03:38:44 +00002927YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002928#line 391 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002929{
vlmfa67ddc2004-06-03 03:38:44 +00002930 asn1p_lval.tv_str = strdup(yytext);
2931 return TOK_typereference;
2932 }
2933 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002934case 122:
vlmb5abdc92005-07-02 21:42:40 +00002935YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002936#line 396 "asn1p_l.l"
2937return TOK_PPEQ;
vlmfa67ddc2004-06-03 03:38:44 +00002938 YY_BREAK
vlm177a5b62005-09-05 05:17:57 +00002939case 123:
2940YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002941#line 398 "asn1p_l.l"
2942return TOK_ThreeDots;
2943 YY_BREAK
2944case 124:
2945YY_RULE_SETUP
2946#line 399 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002947return TOK_TwoDots;
2948 YY_BREAK
2949
vlmb5abdc92005-07-02 21:42:40 +00002950case 125:
vlmfa67ddc2004-06-03 03:38:44 +00002951YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002952#line 403 "asn1p_l.l"
vlm808411d2006-03-14 16:31:37 +00002953{
2954 asn1p_lval.tv_str = strdup(yytext);
2955 return TOK_Literal;
2956 }
2957 YY_BREAK
2958case 126:
2959YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002960#line 408 "asn1p_l.l"
vlm808411d2006-03-14 16:31:37 +00002961{
vlm808411d2006-03-14 16:31:37 +00002962 asn1p_lval.tv_str = strdup(yytext);
2963 return TOK_Literal;
2964 }
2965 YY_BREAK
2966case 127:
2967YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002968#line 413 "asn1p_l.l"
2969{
2970 yy_push_state(with_syntax);
2971 asn1p_lval.tv_str = strdup(yytext);
2972 return TOK_Literal;
2973 }
vlm808411d2006-03-14 16:31:37 +00002974 YY_BREAK
2975case 128:
2976YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002977#line 419 "asn1p_l.l"
2978return '[';
vlm808411d2006-03-14 16:31:37 +00002979 YY_BREAK
2980case 129:
2981YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002982#line 420 "asn1p_l.l"
2983return ']';
2984 YY_BREAK
2985case 130:
2986YY_RULE_SETUP
2987#line 422 "asn1p_l.l"
vlm177a5b62005-09-05 05:17:57 +00002988{
2989 asn1p_lval.tv_opaque.buf = strdup(yytext);
2990 asn1p_lval.tv_opaque.len = yyleng;
vlmeeb3c512006-03-16 05:11:14 +00002991 return TOK_whitespace;
vlm177a5b62005-09-05 05:17:57 +00002992 }
vlm066dc102005-08-22 12:23:54 +00002993 YY_BREAK
vlme745fcd2006-09-05 16:18:34 +00002994case 131:
vlm066dc102005-08-22 12:23:54 +00002995YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00002996#line 428 "asn1p_l.l"
vlm2c8c44d2005-03-24 16:22:35 +00002997{
2998 yy_pop_state();
vlm808411d2006-03-14 16:31:37 +00002999 if(YYSTATE == with_syntax) {
3000 asn1p_lval.tv_str = strdup(yytext);
3001 return TOK_Literal;
3002 } else {
3003 return '}';
3004 }
vlm2c8c44d2005-03-24 16:22:35 +00003005 }
3006 YY_BREAK
3007
vlm808411d2006-03-14 16:31:37 +00003008case 132:
vlm2c8c44d2005-03-24 16:22:35 +00003009YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00003010#line 441 "asn1p_l.l"
3011/* Ignore whitespace */
3012 YY_BREAK
3013case 133:
3014YY_RULE_SETUP
3015#line 444 "asn1p_l.l"
vlm2c8c44d2005-03-24 16:22:35 +00003016{
3017 asn1c_integer_t v1 = -1, v2 = -1;
3018 char *p;
3019 for(p = yytext; *p; p++)
3020 if(*p >= '0' && *p <= '9')
vlma6a84d72006-03-16 10:03:35 +00003021 { v1 = _lex_atoi(p); break; }
vlm2c8c44d2005-03-24 16:22:35 +00003022 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3023 for(; *p; p++) if(*p >= '0' && *p <= '9')
vlma6a84d72006-03-16 10:03:35 +00003024 { v2 = _lex_atoi(p); break; }
vlm2c8c44d2005-03-24 16:22:35 +00003025 if(v1 < 0 || v1 > 7) {
3026 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3027 "mandates 0..7 range for Tuple's TableColumn\n",
3028 yytext, yylineno);
3029 return -1;
3030 }
3031 if(v2 < 0 || v2 > 15) {
3032 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
3033 "mandates 0..15 range for Tuple's TableRow\n",
3034 yytext, yylineno);
3035 return -1;
3036 }
3037 asn1p_lval.a_int = (v1 << 4) + v2;
3038 return TOK_tuple;
3039 }
3040 YY_BREAK
vlme745fcd2006-09-05 16:18:34 +00003041case 134:
vlm2c8c44d2005-03-24 16:22:35 +00003042YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00003043#line 469 "asn1p_l.l"
vlm2c8c44d2005-03-24 16:22:35 +00003044{
3045 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
3046 char *p;
3047 for(p = yytext; *p; p++)
3048 if(*p >= '0' && *p <= '9')
vlma6a84d72006-03-16 10:03:35 +00003049 { v1 = _lex_atoi(p); break; }
vlm2c8c44d2005-03-24 16:22:35 +00003050 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3051 for(; *p; p++) if(*p >= '0' && *p <= '9')
vlma6a84d72006-03-16 10:03:35 +00003052 { v2 = _lex_atoi(p); break; }
vlm2c8c44d2005-03-24 16:22:35 +00003053 while(*p >= '0' && *p <= '9') p++;
3054 for(; *p; p++) if(*p >= '0' && *p <= '9')
vlma6a84d72006-03-16 10:03:35 +00003055 { v3 = _lex_atoi(p); break; }
vlm2c8c44d2005-03-24 16:22:35 +00003056 while(*p >= '0' && *p <= '9') p++;
3057 for(; *p; p++) if(*p >= '0' && *p <= '9')
vlma6a84d72006-03-16 10:03:35 +00003058 { v4 = _lex_atoi(p); break; }
vlm2c8c44d2005-03-24 16:22:35 +00003059 if(v1 < 0 || v1 > 127) {
3060 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3061 "mandates 0..127 range for Quadruple's Group\n",
3062 yytext, yylineno);
3063 return -1;
3064 }
3065 if(v2 < 0 || v2 > 255) {
3066 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3067 "mandates 0..255 range for Quadruple's Plane\n",
3068 yytext, yylineno);
3069 return -1;
3070 }
3071 if(v3 < 0 || v3 > 255) {
3072 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3073 "mandates 0..255 range for Quadruple's Row\n",
3074 yytext, yylineno);
3075 return -1;
3076 }
3077 if(v4 < 0 || v4 > 255) {
3078 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3079 "mandates 0..255 range for Quadruple's Cell\n",
3080 yytext, yylineno);
3081 return -1;
3082 }
3083 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3084 return TOK_quadruple;
3085 }
3086 YY_BREAK
vlm808411d2006-03-14 16:31:37 +00003087case 135:
vlm2c8c44d2005-03-24 16:22:35 +00003088YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00003089#line 513 "asn1p_l.l"
3090return yytext[0];
3091 YY_BREAK
3092case 136:
3093YY_RULE_SETUP
3094#line 515 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003095{
3096 if(TYPE_LIFETIME(1994, 0))
3097 fprintf(stderr, "ERROR: ");
3098 fprintf(stderr,
3099 "Symbol '%c' at line %d is prohibited "
3100 "by ASN.1:1994 and ASN.1:1997\n",
3101 yytext[0], yylineno);
3102 if(TYPE_LIFETIME(1994, 0))
3103 return -1;
3104 }
3105 YY_BREAK
vlme745fcd2006-09-05 16:18:34 +00003106case 137:
vlm2728a8d2005-01-23 09:51:44 +00003107YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00003108#line 526 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003109{
3110 fprintf(stderr,
3111 "Unexpected token at line %d: \"%s\"\n",
3112 yylineno, yytext);
3113 while(YYSTATE != INITIAL)
3114 yy_pop_state();
vlmc94e28f2004-09-15 11:59:51 +00003115 if(0) {
3116 yy_top_state(); /* Just to use this function. */
3117 yy_fatal_error("Parse error");
3118 }
vlmfa67ddc2004-06-03 03:38:44 +00003119 return -1;
3120}
3121 YY_BREAK
3122case YY_STATE_EOF(INITIAL):
3123case YY_STATE_EOF(dash_comment):
vlmb5abdc92005-07-02 21:42:40 +00003124case YY_STATE_EOF(idash_comment):
vlmfa67ddc2004-06-03 03:38:44 +00003125case YY_STATE_EOF(cpp_comment):
3126case YY_STATE_EOF(quoted):
3127case YY_STATE_EOF(opaque):
vlm9283dbe2004-08-18 04:59:12 +00003128case YY_STATE_EOF(encoding_control):
vlmfa67ddc2004-06-03 03:38:44 +00003129case YY_STATE_EOF(with_syntax):
vlme745fcd2006-09-05 16:18:34 +00003130#line 539 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003131{
3132 while(YYSTATE != INITIAL)
3133 yy_pop_state();
3134 yyterminate();
3135 }
3136 YY_BREAK
vlme745fcd2006-09-05 16:18:34 +00003137case 138:
vlmfa67ddc2004-06-03 03:38:44 +00003138YY_RULE_SETUP
vlme745fcd2006-09-05 16:18:34 +00003139#line 546 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003140YY_FATAL_ERROR( "flex scanner jammed" );
3141 YY_BREAK
vlme745fcd2006-09-05 16:18:34 +00003142#line 3143 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00003143
3144 case YY_END_OF_BUFFER:
3145 {
3146 /* Amount of text matched not including the EOB char. */
3147 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
3148
3149 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3150 *yy_cp = yy_hold_char;
3151 YY_RESTORE_YY_MORE_OFFSET
3152
3153 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
3154 {
3155 /* We're scanning a new file or input source. It's
3156 * possible that this happened because the user
3157 * just pointed yyin at a new source and called
3158 * yylex(). If so, then we have to assure
3159 * consistency between yy_current_buffer and our
3160 * globals. Here is the right place to do so, because
3161 * this is the first action (other than possibly a
3162 * back-up) that will match for the new input source.
3163 */
3164 yy_n_chars = yy_current_buffer->yy_n_chars;
3165 yy_current_buffer->yy_input_file = yyin;
3166 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
3167 }
3168
3169 /* Note that here we test for yy_c_buf_p "<=" to the position
3170 * of the first EOB in the buffer, since yy_c_buf_p will
3171 * already have been incremented past the NUL character
3172 * (since all states make transitions on EOB to the
3173 * end-of-buffer state). Contrast this with the test
3174 * in input().
3175 */
3176 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3177 { /* This was really a NUL. */
3178 yy_state_type yy_next_state;
3179
3180 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
3181
3182 yy_current_state = yy_get_previous_state();
3183
3184 /* Okay, we're now positioned to make the NUL
3185 * transition. We couldn't have
3186 * yy_get_previous_state() go ahead and do it
3187 * for us because it doesn't know how to deal
3188 * with the possibility of jamming (and we don't
3189 * want to build jamming into it because then it
3190 * will run more slowly).
3191 */
3192
3193 yy_next_state = yy_try_NUL_trans( yy_current_state );
3194
3195 yy_bp = yytext_ptr + YY_MORE_ADJ;
3196
3197 if ( yy_next_state )
3198 {
3199 /* Consume the NUL. */
3200 yy_cp = ++yy_c_buf_p;
3201 yy_current_state = yy_next_state;
3202 goto yy_match;
3203 }
3204
3205 else
3206 {
3207 yy_cp = yy_c_buf_p;
3208 goto yy_find_action;
3209 }
3210 }
3211
3212 else switch ( yy_get_next_buffer() )
3213 {
3214 case EOB_ACT_END_OF_FILE:
3215 {
3216 yy_did_buffer_switch_on_eof = 0;
3217
3218 if ( yywrap() )
3219 {
3220 /* Note: because we've taken care in
3221 * yy_get_next_buffer() to have set up
3222 * yytext, we can now set up
3223 * yy_c_buf_p so that if some total
3224 * hoser (like flex itself) wants to
3225 * call the scanner after we return the
3226 * YY_NULL, it'll still work - another
3227 * YY_NULL will get returned.
3228 */
3229 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3230
3231 yy_act = YY_STATE_EOF(YY_START);
3232 goto do_action;
3233 }
3234
3235 else
3236 {
3237 if ( ! yy_did_buffer_switch_on_eof )
3238 YY_NEW_FILE;
3239 }
3240 break;
3241 }
3242
3243 case EOB_ACT_CONTINUE_SCAN:
3244 yy_c_buf_p =
3245 yytext_ptr + yy_amount_of_matched_text;
3246
3247 yy_current_state = yy_get_previous_state();
3248
3249 yy_cp = yy_c_buf_p;
3250 yy_bp = yytext_ptr + YY_MORE_ADJ;
3251 goto yy_match;
3252
3253 case EOB_ACT_LAST_MATCH:
3254 yy_c_buf_p =
3255 &yy_current_buffer->yy_ch_buf[yy_n_chars];
3256
3257 yy_current_state = yy_get_previous_state();
3258
3259 yy_cp = yy_c_buf_p;
3260 yy_bp = yytext_ptr + YY_MORE_ADJ;
3261 goto yy_find_action;
3262 }
3263 break;
3264 }
3265
3266 default:
3267 YY_FATAL_ERROR(
3268 "fatal flex scanner internal error--no action found" );
3269 } /* end of action switch */
3270 } /* end of scanning one token */
3271 } /* end of yylex */
3272
3273
3274/* yy_get_next_buffer - try to read in a new buffer
3275 *
3276 * Returns a code representing an action:
3277 * EOB_ACT_LAST_MATCH -
3278 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3279 * EOB_ACT_END_OF_FILE - end of file
3280 */
3281
3282static int yy_get_next_buffer()
3283 {
3284 register char *dest = yy_current_buffer->yy_ch_buf;
3285 register char *source = yytext_ptr;
3286 register int number_to_move, i;
3287 int ret_val;
3288
3289 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3290 YY_FATAL_ERROR(
3291 "fatal flex scanner internal error--end of buffer missed" );
3292
3293 if ( yy_current_buffer->yy_fill_buffer == 0 )
3294 { /* Don't try to fill the buffer, so this is an EOF. */
3295 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3296 {
3297 /* We matched a single character, the EOB, so
3298 * treat this as a final EOF.
3299 */
3300 return EOB_ACT_END_OF_FILE;
3301 }
3302
3303 else
3304 {
3305 /* We matched some text prior to the EOB, first
3306 * process it.
3307 */
3308 return EOB_ACT_LAST_MATCH;
3309 }
3310 }
3311
3312 /* Try to read more data. */
3313
3314 /* First move last chars to start of buffer. */
3315 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3316
3317 for ( i = 0; i < number_to_move; ++i )
3318 *(dest++) = *(source++);
3319
3320 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3321 /* don't do the read, it's not guaranteed to return an EOF,
3322 * just force an EOF
3323 */
3324 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3325
3326 else
3327 {
3328 int num_to_read =
3329 yy_current_buffer->yy_buf_size - number_to_move - 1;
3330
3331 while ( num_to_read <= 0 )
3332 { /* Not enough room in the buffer - grow it. */
3333#ifdef YY_USES_REJECT
3334 YY_FATAL_ERROR(
3335"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3336#else
3337
3338 /* just a shorter name for the current buffer */
3339 YY_BUFFER_STATE b = yy_current_buffer;
3340
3341 int yy_c_buf_p_offset =
3342 (int) (yy_c_buf_p - b->yy_ch_buf);
3343
3344 if ( b->yy_is_our_buffer )
3345 {
3346 int new_size = b->yy_buf_size * 2;
3347
3348 if ( new_size <= 0 )
3349 b->yy_buf_size += b->yy_buf_size / 8;
3350 else
3351 b->yy_buf_size *= 2;
3352
3353 b->yy_ch_buf = (char *)
3354 /* Include room in for 2 EOB chars. */
3355 yy_flex_realloc( (void *) b->yy_ch_buf,
3356 b->yy_buf_size + 2 );
3357 }
3358 else
3359 /* Can't grow it, we don't own it. */
3360 b->yy_ch_buf = 0;
3361
3362 if ( ! b->yy_ch_buf )
3363 YY_FATAL_ERROR(
3364 "fatal error - scanner input buffer overflow" );
3365
3366 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3367
3368 num_to_read = yy_current_buffer->yy_buf_size -
3369 number_to_move - 1;
3370#endif
3371 }
3372
3373 if ( num_to_read > YY_READ_BUF_SIZE )
3374 num_to_read = YY_READ_BUF_SIZE;
3375
3376 /* Read in more data. */
3377 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3378 yy_n_chars, num_to_read );
3379
3380 yy_current_buffer->yy_n_chars = yy_n_chars;
3381 }
3382
3383 if ( yy_n_chars == 0 )
3384 {
3385 if ( number_to_move == YY_MORE_ADJ )
3386 {
3387 ret_val = EOB_ACT_END_OF_FILE;
3388 yyrestart( yyin );
3389 }
3390
3391 else
3392 {
3393 ret_val = EOB_ACT_LAST_MATCH;
3394 yy_current_buffer->yy_buffer_status =
3395 YY_BUFFER_EOF_PENDING;
3396 }
3397 }
3398
3399 else
3400 ret_val = EOB_ACT_CONTINUE_SCAN;
3401
3402 yy_n_chars += number_to_move;
3403 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3404 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3405
3406 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3407
3408 return ret_val;
3409 }
3410
3411
3412/* yy_get_previous_state - get the state just before the EOB char was reached */
3413
3414static yy_state_type yy_get_previous_state()
3415 {
3416 register yy_state_type yy_current_state;
3417 register char *yy_cp;
3418
3419 yy_current_state = yy_start;
3420 yy_state_ptr = yy_state_buf;
3421 *yy_state_ptr++ = yy_current_state;
3422
3423 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3424 {
3425 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3426 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3427 {
3428 yy_current_state = (int) yy_def[yy_current_state];
vlme745fcd2006-09-05 16:18:34 +00003429 if ( yy_current_state >= 742 )
vlmfa67ddc2004-06-03 03:38:44 +00003430 yy_c = yy_meta[(unsigned int) yy_c];
3431 }
3432 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3433 *yy_state_ptr++ = yy_current_state;
3434 }
3435
3436 return yy_current_state;
3437 }
3438
3439
3440/* yy_try_NUL_trans - try to make a transition on the NUL character
3441 *
3442 * synopsis
3443 * next_state = yy_try_NUL_trans( current_state );
3444 */
3445
3446#ifdef YY_USE_PROTOS
3447static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3448#else
3449static yy_state_type yy_try_NUL_trans( yy_current_state )
3450yy_state_type yy_current_state;
3451#endif
3452 {
3453 register int yy_is_jam;
3454
3455 register YY_CHAR yy_c = 1;
3456 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3457 {
3458 yy_current_state = (int) yy_def[yy_current_state];
vlme745fcd2006-09-05 16:18:34 +00003459 if ( yy_current_state >= 742 )
vlmfa67ddc2004-06-03 03:38:44 +00003460 yy_c = yy_meta[(unsigned int) yy_c];
3461 }
3462 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
vlme745fcd2006-09-05 16:18:34 +00003463 yy_is_jam = (yy_current_state == 741);
vlmfa67ddc2004-06-03 03:38:44 +00003464 if ( ! yy_is_jam )
3465 *yy_state_ptr++ = yy_current_state;
3466
3467 return yy_is_jam ? 0 : yy_current_state;
3468 }
3469
3470
3471#ifndef YY_NO_UNPUT
3472#ifdef YY_USE_PROTOS
3473static void yyunput( int c, register char *yy_bp )
3474#else
3475static void yyunput( c, yy_bp )
3476int c;
3477register char *yy_bp;
3478#endif
3479 {
3480 register char *yy_cp = yy_c_buf_p;
3481
3482 /* undo effects of setting up yytext */
3483 *yy_cp = yy_hold_char;
3484
3485 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3486 { /* need to shift things up to make room */
3487 /* +2 for EOB chars. */
3488 register int number_to_move = yy_n_chars + 2;
3489 register char *dest = &yy_current_buffer->yy_ch_buf[
3490 yy_current_buffer->yy_buf_size + 2];
3491 register char *source =
3492 &yy_current_buffer->yy_ch_buf[number_to_move];
3493
3494 while ( source > yy_current_buffer->yy_ch_buf )
3495 *--dest = *--source;
3496
3497 yy_cp += (int) (dest - source);
3498 yy_bp += (int) (dest - source);
3499 yy_current_buffer->yy_n_chars =
3500 yy_n_chars = yy_current_buffer->yy_buf_size;
3501
3502 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3503 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3504 }
3505
3506 *--yy_cp = (char) c;
3507
3508 if ( c == '\n' )
3509 --yylineno;
3510
3511 yytext_ptr = yy_bp;
3512 yy_hold_char = *yy_cp;
3513 yy_c_buf_p = yy_cp;
3514 }
3515#endif /* ifndef YY_NO_UNPUT */
3516
3517
3518#ifdef __cplusplus
3519static int yyinput()
3520#else
3521static int input()
3522#endif
3523 {
3524 int c;
3525
3526 *yy_c_buf_p = yy_hold_char;
3527
3528 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3529 {
3530 /* yy_c_buf_p now points to the character we want to return.
3531 * If this occurs *before* the EOB characters, then it's a
3532 * valid NUL; if not, then we've hit the end of the buffer.
3533 */
3534 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3535 /* This was really a NUL. */
3536 *yy_c_buf_p = '\0';
3537
3538 else
3539 { /* need more input */
3540 int offset = yy_c_buf_p - yytext_ptr;
3541 ++yy_c_buf_p;
3542
3543 switch ( yy_get_next_buffer() )
3544 {
3545 case EOB_ACT_LAST_MATCH:
3546 /* This happens because yy_g_n_b()
3547 * sees that we've accumulated a
3548 * token and flags that we need to
3549 * try matching the token before
3550 * proceeding. But for input(),
3551 * there's no matching to consider.
3552 * So convert the EOB_ACT_LAST_MATCH
3553 * to EOB_ACT_END_OF_FILE.
3554 */
3555
3556 /* Reset buffer status. */
3557 yyrestart( yyin );
3558
3559 /* fall through */
3560
3561 case EOB_ACT_END_OF_FILE:
3562 {
3563 if ( yywrap() )
3564 return EOF;
3565
3566 if ( ! yy_did_buffer_switch_on_eof )
3567 YY_NEW_FILE;
3568#ifdef __cplusplus
3569 return yyinput();
3570#else
3571 return input();
3572#endif
3573 }
3574
3575 case EOB_ACT_CONTINUE_SCAN:
3576 yy_c_buf_p = yytext_ptr + offset;
3577 break;
3578 }
3579 }
3580 }
3581
3582 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3583 *yy_c_buf_p = '\0'; /* preserve yytext */
3584 yy_hold_char = *++yy_c_buf_p;
3585
3586 if ( c == '\n' )
3587 ++yylineno;
3588
3589 return c;
3590 }
3591
3592
3593#ifdef YY_USE_PROTOS
3594void yyrestart( FILE *input_file )
3595#else
3596void yyrestart( input_file )
3597FILE *input_file;
3598#endif
3599 {
3600 if ( ! yy_current_buffer )
3601 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3602
3603 yy_init_buffer( yy_current_buffer, input_file );
3604 yy_load_buffer_state();
3605 }
3606
3607
3608#ifdef YY_USE_PROTOS
3609void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3610#else
3611void yy_switch_to_buffer( new_buffer )
3612YY_BUFFER_STATE new_buffer;
3613#endif
3614 {
3615 if ( yy_current_buffer == new_buffer )
3616 return;
3617
3618 if ( yy_current_buffer )
3619 {
3620 /* Flush out information for old buffer. */
3621 *yy_c_buf_p = yy_hold_char;
3622 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3623 yy_current_buffer->yy_n_chars = yy_n_chars;
3624 }
3625
3626 yy_current_buffer = new_buffer;
3627 yy_load_buffer_state();
3628
3629 /* We don't actually know whether we did this switch during
3630 * EOF (yywrap()) processing, but the only time this flag
3631 * is looked at is after yywrap() is called, so it's safe
3632 * to go ahead and always set it.
3633 */
3634 yy_did_buffer_switch_on_eof = 1;
3635 }
3636
3637
3638#ifdef YY_USE_PROTOS
3639void yy_load_buffer_state( void )
3640#else
3641void yy_load_buffer_state()
3642#endif
3643 {
3644 yy_n_chars = yy_current_buffer->yy_n_chars;
3645 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3646 yyin = yy_current_buffer->yy_input_file;
3647 yy_hold_char = *yy_c_buf_p;
3648 }
3649
3650
3651#ifdef YY_USE_PROTOS
3652YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3653#else
3654YY_BUFFER_STATE yy_create_buffer( file, size )
3655FILE *file;
3656int size;
3657#endif
3658 {
3659 YY_BUFFER_STATE b;
3660
3661 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3662 if ( ! b )
3663 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3664
3665 b->yy_buf_size = size;
3666
3667 /* yy_ch_buf has to be 2 characters longer than the size given because
3668 * we need to put in 2 end-of-buffer characters.
3669 */
3670 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3671 if ( ! b->yy_ch_buf )
3672 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3673
3674 b->yy_is_our_buffer = 1;
3675
3676 yy_init_buffer( b, file );
3677
3678 return b;
3679 }
3680
3681
3682#ifdef YY_USE_PROTOS
3683void yy_delete_buffer( YY_BUFFER_STATE b )
3684#else
3685void yy_delete_buffer( b )
3686YY_BUFFER_STATE b;
3687#endif
3688 {
3689 if ( ! b )
3690 return;
3691
3692 if ( b == yy_current_buffer )
3693 yy_current_buffer = (YY_BUFFER_STATE) 0;
3694
3695 if ( b->yy_is_our_buffer )
3696 yy_flex_free( (void *) b->yy_ch_buf );
3697
3698 yy_flex_free( (void *) b );
3699 }
3700
3701
3702#ifndef YY_ALWAYS_INTERACTIVE
3703#ifndef YY_NEVER_INTERACTIVE
3704extern int isatty YY_PROTO(( int ));
3705#endif
3706#endif
3707
3708#ifdef YY_USE_PROTOS
3709void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3710#else
3711void yy_init_buffer( b, file )
3712YY_BUFFER_STATE b;
3713FILE *file;
3714#endif
3715
3716
3717 {
3718 yy_flush_buffer( b );
3719
3720 b->yy_input_file = file;
3721 b->yy_fill_buffer = 1;
3722
3723#if YY_ALWAYS_INTERACTIVE
3724 b->yy_is_interactive = 1;
3725#else
3726#if YY_NEVER_INTERACTIVE
3727 b->yy_is_interactive = 0;
3728#else
3729 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3730#endif
3731#endif
3732 }
3733
3734
3735#ifdef YY_USE_PROTOS
3736void yy_flush_buffer( YY_BUFFER_STATE b )
3737#else
3738void yy_flush_buffer( b )
3739YY_BUFFER_STATE b;
3740#endif
3741
3742 {
3743 if ( ! b )
3744 return;
3745
3746 b->yy_n_chars = 0;
3747
3748 /* We always need two end-of-buffer characters. The first causes
3749 * a transition to the end-of-buffer state. The second causes
3750 * a jam in that state.
3751 */
3752 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3753 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3754
3755 b->yy_buf_pos = &b->yy_ch_buf[0];
3756
3757 b->yy_at_bol = 1;
3758 b->yy_buffer_status = YY_BUFFER_NEW;
3759
3760 if ( b == yy_current_buffer )
3761 yy_load_buffer_state();
3762 }
3763
3764
3765#ifndef YY_NO_SCAN_BUFFER
3766#ifdef YY_USE_PROTOS
3767YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3768#else
3769YY_BUFFER_STATE yy_scan_buffer( base, size )
3770char *base;
3771yy_size_t size;
3772#endif
3773 {
3774 YY_BUFFER_STATE b;
3775
3776 if ( size < 2 ||
3777 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3778 base[size-1] != YY_END_OF_BUFFER_CHAR )
3779 /* They forgot to leave room for the EOB's. */
3780 return 0;
3781
3782 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3783 if ( ! b )
3784 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3785
3786 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3787 b->yy_buf_pos = b->yy_ch_buf = base;
3788 b->yy_is_our_buffer = 0;
3789 b->yy_input_file = 0;
3790 b->yy_n_chars = b->yy_buf_size;
3791 b->yy_is_interactive = 0;
3792 b->yy_at_bol = 1;
3793 b->yy_fill_buffer = 0;
3794 b->yy_buffer_status = YY_BUFFER_NEW;
3795
3796 yy_switch_to_buffer( b );
3797
3798 return b;
3799 }
3800#endif
3801
3802
3803#ifndef YY_NO_SCAN_STRING
3804#ifdef YY_USE_PROTOS
3805YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3806#else
3807YY_BUFFER_STATE yy_scan_string( yy_str )
3808yyconst char *yy_str;
3809#endif
3810 {
3811 int len;
3812 for ( len = 0; yy_str[len]; ++len )
3813 ;
3814
3815 return yy_scan_bytes( yy_str, len );
3816 }
3817#endif
3818
3819
3820#ifndef YY_NO_SCAN_BYTES
3821#ifdef YY_USE_PROTOS
3822YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3823#else
3824YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3825yyconst char *bytes;
3826int len;
3827#endif
3828 {
3829 YY_BUFFER_STATE b;
3830 char *buf;
3831 yy_size_t n;
3832 int i;
3833
3834 /* Get memory for full buffer, including space for trailing EOB's. */
3835 n = len + 2;
3836 buf = (char *) yy_flex_alloc( n );
3837 if ( ! buf )
3838 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3839
3840 for ( i = 0; i < len; ++i )
3841 buf[i] = bytes[i];
3842
3843 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3844
3845 b = yy_scan_buffer( buf, n );
3846 if ( ! b )
3847 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3848
3849 /* It's okay to grow etc. this buffer, and we should throw it
3850 * away when we're done.
3851 */
3852 b->yy_is_our_buffer = 1;
3853
3854 return b;
3855 }
3856#endif
3857
3858
3859#ifndef YY_NO_PUSH_STATE
3860#ifdef YY_USE_PROTOS
3861static void yy_push_state( int new_state )
3862#else
3863static void yy_push_state( new_state )
3864int new_state;
3865#endif
3866 {
3867 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3868 {
3869 yy_size_t new_size;
3870
3871 yy_start_stack_depth += YY_START_STACK_INCR;
3872 new_size = yy_start_stack_depth * sizeof( int );
3873
3874 if ( ! yy_start_stack )
3875 yy_start_stack = (int *) yy_flex_alloc( new_size );
3876
3877 else
3878 yy_start_stack = (int *) yy_flex_realloc(
3879 (void *) yy_start_stack, new_size );
3880
3881 if ( ! yy_start_stack )
3882 YY_FATAL_ERROR(
3883 "out of memory expanding start-condition stack" );
3884 }
3885
3886 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3887
3888 BEGIN(new_state);
3889 }
3890#endif
3891
3892
3893#ifndef YY_NO_POP_STATE
3894static void yy_pop_state()
3895 {
3896 if ( --yy_start_stack_ptr < 0 )
3897 YY_FATAL_ERROR( "start-condition stack underflow" );
3898
3899 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3900 }
3901#endif
3902
3903
3904#ifndef YY_NO_TOP_STATE
3905static int yy_top_state()
3906 {
3907 return yy_start_stack[yy_start_stack_ptr - 1];
3908 }
3909#endif
3910
3911#ifndef YY_EXIT_FAILURE
3912#define YY_EXIT_FAILURE 2
3913#endif
3914
3915#ifdef YY_USE_PROTOS
3916static void yy_fatal_error( yyconst char msg[] )
3917#else
3918static void yy_fatal_error( msg )
3919char msg[];
3920#endif
3921 {
3922 (void) fprintf( stderr, "%s\n", msg );
3923 exit( YY_EXIT_FAILURE );
3924 }
3925
3926
3927
3928/* Redefine yyless() so it works in section 3 code. */
3929
3930#undef yyless
3931#define yyless(n) \
3932 do \
3933 { \
3934 /* Undo effects of setting up yytext. */ \
3935 yytext[yyleng] = yy_hold_char; \
3936 yy_c_buf_p = yytext + n; \
3937 yy_hold_char = *yy_c_buf_p; \
3938 *yy_c_buf_p = '\0'; \
3939 yyleng = n; \
3940 } \
3941 while ( 0 )
3942
3943
3944/* Internal utility routines. */
3945
3946#ifndef yytext_ptr
3947#ifdef YY_USE_PROTOS
3948static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3949#else
3950static void yy_flex_strncpy( s1, s2, n )
3951char *s1;
3952yyconst char *s2;
3953int n;
3954#endif
3955 {
3956 register int i;
3957 for ( i = 0; i < n; ++i )
3958 s1[i] = s2[i];
3959 }
3960#endif
3961
3962#ifdef YY_NEED_STRLEN
3963#ifdef YY_USE_PROTOS
3964static int yy_flex_strlen( yyconst char *s )
3965#else
3966static int yy_flex_strlen( s )
3967yyconst char *s;
3968#endif
3969 {
3970 register int n;
3971 for ( n = 0; s[n]; ++n )
3972 ;
3973
3974 return n;
3975 }
3976#endif
3977
3978
3979#ifdef YY_USE_PROTOS
3980static void *yy_flex_alloc( yy_size_t size )
3981#else
3982static void *yy_flex_alloc( size )
3983yy_size_t size;
3984#endif
3985 {
3986 return (void *) malloc( size );
3987 }
3988
3989#ifdef YY_USE_PROTOS
3990static void *yy_flex_realloc( void *ptr, yy_size_t size )
3991#else
3992static void *yy_flex_realloc( ptr, size )
3993void *ptr;
3994yy_size_t size;
3995#endif
3996 {
3997 /* The cast to (char *) in the following accommodates both
3998 * implementations that use char* generic pointers, and those
3999 * that use void* generic pointers. It works with the latter
4000 * because both ANSI C and C++ allow castless assignment from
4001 * any pointer type to void*, and deal with argument conversions
4002 * as though doing an assignment.
4003 */
4004 return (void *) realloc( (char *) ptr, size );
4005 }
4006
4007#ifdef YY_USE_PROTOS
4008static void yy_flex_free( void *ptr )
4009#else
4010static void yy_flex_free( ptr )
4011void *ptr;
4012#endif
4013 {
4014 free( ptr );
4015 }
4016
4017#if YY_MAIN
4018int main()
4019 {
4020 yylex();
4021 return 0;
4022 }
4023#endif
vlme745fcd2006-09-05 16:18:34 +00004024#line 546 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00004025
4026
4027/*
4028 * Very dirty but wonderful hack allowing to rule states from within .y file.
4029 */
vlm9283dbe2004-08-18 04:59:12 +00004030void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
vlmfa67ddc2004-06-03 03:38:44 +00004031
4032/*
4033 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
4034 */
vlm9283dbe2004-08-18 04:59:12 +00004035void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
4036
4037/* Yet another */
4038void asn1p_lexer_hack_push_encoding_control() {
4039 yy_push_state(encoding_control);
vlmfa67ddc2004-06-03 03:38:44 +00004040}
4041
vlmec6acd42004-09-29 13:18:09 +00004042static asn1c_integer_t
vlma6a84d72006-03-16 10:03:35 +00004043_lex_atoi(const char *ptr) {
vlmec6acd42004-09-29 13:18:09 +00004044 asn1c_integer_t value;
vlma6a84d72006-03-16 10:03:35 +00004045 if(asn1p_atoi(ptr, &value)) {
vlmfa67ddc2004-06-03 03:38:44 +00004046 fprintf(stderr,
4047 "Value \"%s\" at line %d is too large "
vlm86912f02005-04-05 08:46:22 +00004048 "for this compiler! Please contact the asn1c author.\n",
vlmfa67ddc2004-06-03 03:38:44 +00004049 ptr, yylineno);
vlma6a84d72006-03-16 10:03:35 +00004050 errno = ERANGE;
vlmfa67ddc2004-06-03 03:38:44 +00004051 }
vlmfa67ddc2004-06-03 03:38:44 +00004052 return value;
4053}
vlme745fcd2006-09-05 16:18:34 +00004054
4055static double
4056_lex_atod(const char *ptr) {
4057 double value;
4058 errno = 0;
4059 value = strtod(ptr, 0);
4060 if(errno) {
4061 fprintf(stderr,
4062 "Value \"%s\" at line %d is outside of `double` range "
4063 "in this compiler! Please contact the asn1c author.\n",
4064 ptr, yylineno);
4065 errno = ERANGE;
4066 }
4067 return value;
4068}
4069