Crossfire Server, Trunk
reader.c
Go to the documentation of this file.
1 
2 #line 3 "reader.c"
3 
4 #define YY_INT_ALIGNED short int
5 
6 /* A lexical scanner generated by flex */
7 
8 #define yy_create_buffer rmap_create_buffer
9 #define yy_delete_buffer rmap_delete_buffer
10 #define yy_scan_buffer rmap_scan_buffer
11 #define yy_scan_string rmap_scan_string
12 #define yy_scan_bytes rmap_scan_bytes
13 #define yy_init_buffer rmap_init_buffer
14 #define yy_flush_buffer rmap_flush_buffer
15 #define yy_load_buffer_state rmap_load_buffer_state
16 #define yy_switch_to_buffer rmap_switch_to_buffer
17 #define yypush_buffer_state rmappush_buffer_state
18 #define yypop_buffer_state rmappop_buffer_state
19 #define yyensure_buffer_stack rmapensure_buffer_stack
20 #define yy_flex_debug rmap_flex_debug
21 #define yyin rmapin
22 #define yyleng rmapleng
23 #define yylex rmaplex
24 #define yylineno rmaplineno
25 #define yyout rmapout
26 #define yyrestart rmaprestart
27 #define yytext rmaptext
28 #define yywrap rmapwrap
29 #define yyalloc rmapalloc
30 #define yyrealloc rmaprealloc
31 #define yyfree rmapfree
32 
33 #define FLEX_SCANNER
34 #define YY_FLEX_MAJOR_VERSION 2
35 #define YY_FLEX_MINOR_VERSION 6
36 #define YY_FLEX_SUBMINOR_VERSION 4
37 #if YY_FLEX_SUBMINOR_VERSION > 0
38 #define FLEX_BETA
39 #endif
40 
41 #ifdef yy_create_buffer
42 #define rmap_create_buffer_ALREADY_DEFINED
43 #else
44 #define yy_create_buffer rmap_create_buffer
45 #endif
46 
47 #ifdef yy_delete_buffer
48 #define rmap_delete_buffer_ALREADY_DEFINED
49 #else
50 #define yy_delete_buffer rmap_delete_buffer
51 #endif
52 
53 #ifdef yy_scan_buffer
54 #define rmap_scan_buffer_ALREADY_DEFINED
55 #else
56 #define yy_scan_buffer rmap_scan_buffer
57 #endif
58 
59 #ifdef yy_scan_string
60 #define rmap_scan_string_ALREADY_DEFINED
61 #else
62 #define yy_scan_string rmap_scan_string
63 #endif
64 
65 #ifdef yy_scan_bytes
66 #define rmap_scan_bytes_ALREADY_DEFINED
67 #else
68 #define yy_scan_bytes rmap_scan_bytes
69 #endif
70 
71 #ifdef yy_init_buffer
72 #define rmap_init_buffer_ALREADY_DEFINED
73 #else
74 #define yy_init_buffer rmap_init_buffer
75 #endif
76 
77 #ifdef yy_flush_buffer
78 #define rmap_flush_buffer_ALREADY_DEFINED
79 #else
80 #define yy_flush_buffer rmap_flush_buffer
81 #endif
82 
83 #ifdef yy_load_buffer_state
84 #define rmap_load_buffer_state_ALREADY_DEFINED
85 #else
86 #define yy_load_buffer_state rmap_load_buffer_state
87 #endif
88 
89 #ifdef yy_switch_to_buffer
90 #define rmap_switch_to_buffer_ALREADY_DEFINED
91 #else
92 #define yy_switch_to_buffer rmap_switch_to_buffer
93 #endif
94 
95 #ifdef yypush_buffer_state
96 #define rmappush_buffer_state_ALREADY_DEFINED
97 #else
98 #define yypush_buffer_state rmappush_buffer_state
99 #endif
100 
101 #ifdef yypop_buffer_state
102 #define rmappop_buffer_state_ALREADY_DEFINED
103 #else
104 #define yypop_buffer_state rmappop_buffer_state
105 #endif
106 
107 #ifdef yyensure_buffer_stack
108 #define rmapensure_buffer_stack_ALREADY_DEFINED
109 #else
110 #define yyensure_buffer_stack rmapensure_buffer_stack
111 #endif
112 
113 #ifdef yylex
114 #define rmaplex_ALREADY_DEFINED
115 #else
116 #define yylex rmaplex
117 #endif
118 
119 #ifdef yyrestart
120 #define rmaprestart_ALREADY_DEFINED
121 #else
122 #define yyrestart rmaprestart
123 #endif
124 
125 #ifdef yylex_init
126 #define rmaplex_init_ALREADY_DEFINED
127 #else
128 #define yylex_init rmaplex_init
129 #endif
130 
131 #ifdef yylex_init_extra
132 #define rmaplex_init_extra_ALREADY_DEFINED
133 #else
134 #define yylex_init_extra rmaplex_init_extra
135 #endif
136 
137 #ifdef yylex_destroy
138 #define rmaplex_destroy_ALREADY_DEFINED
139 #else
140 #define yylex_destroy rmaplex_destroy
141 #endif
142 
143 #ifdef yyget_debug
144 #define rmapget_debug_ALREADY_DEFINED
145 #else
146 #define yyget_debug rmapget_debug
147 #endif
148 
149 #ifdef yyset_debug
150 #define rmapset_debug_ALREADY_DEFINED
151 #else
152 #define yyset_debug rmapset_debug
153 #endif
154 
155 #ifdef yyget_extra
156 #define rmapget_extra_ALREADY_DEFINED
157 #else
158 #define yyget_extra rmapget_extra
159 #endif
160 
161 #ifdef yyset_extra
162 #define rmapset_extra_ALREADY_DEFINED
163 #else
164 #define yyset_extra rmapset_extra
165 #endif
166 
167 #ifdef yyget_in
168 #define rmapget_in_ALREADY_DEFINED
169 #else
170 #define yyget_in rmapget_in
171 #endif
172 
173 #ifdef yyset_in
174 #define rmapset_in_ALREADY_DEFINED
175 #else
176 #define yyset_in rmapset_in
177 #endif
178 
179 #ifdef yyget_out
180 #define rmapget_out_ALREADY_DEFINED
181 #else
182 #define yyget_out rmapget_out
183 #endif
184 
185 #ifdef yyset_out
186 #define rmapset_out_ALREADY_DEFINED
187 #else
188 #define yyset_out rmapset_out
189 #endif
190 
191 #ifdef yyget_leng
192 #define rmapget_leng_ALREADY_DEFINED
193 #else
194 #define yyget_leng rmapget_leng
195 #endif
196 
197 #ifdef yyget_text
198 #define rmapget_text_ALREADY_DEFINED
199 #else
200 #define yyget_text rmapget_text
201 #endif
202 
203 #ifdef yyget_lineno
204 #define rmapget_lineno_ALREADY_DEFINED
205 #else
206 #define yyget_lineno rmapget_lineno
207 #endif
208 
209 #ifdef yyset_lineno
210 #define rmapset_lineno_ALREADY_DEFINED
211 #else
212 #define yyset_lineno rmapset_lineno
213 #endif
214 
215 #ifdef yywrap
216 #define rmapwrap_ALREADY_DEFINED
217 #else
218 #define yywrap rmapwrap
219 #endif
220 
221 #ifdef yyalloc
222 #define rmapalloc_ALREADY_DEFINED
223 #else
224 #define yyalloc rmapalloc
225 #endif
226 
227 #ifdef yyrealloc
228 #define rmaprealloc_ALREADY_DEFINED
229 #else
230 #define yyrealloc rmaprealloc
231 #endif
232 
233 #ifdef yyfree
234 #define rmapfree_ALREADY_DEFINED
235 #else
236 #define yyfree rmapfree
237 #endif
238 
239 #ifdef yytext
240 #define rmaptext_ALREADY_DEFINED
241 #else
242 #define yytext rmaptext
243 #endif
244 
245 #ifdef yyleng
246 #define rmapleng_ALREADY_DEFINED
247 #else
248 #define yyleng rmapleng
249 #endif
250 
251 #ifdef yyin
252 #define rmapin_ALREADY_DEFINED
253 #else
254 #define yyin rmapin
255 #endif
256 
257 #ifdef yyout
258 #define rmapout_ALREADY_DEFINED
259 #else
260 #define yyout rmapout
261 #endif
262 
263 #ifdef yy_flex_debug
264 #define rmap_flex_debug_ALREADY_DEFINED
265 #else
266 #define yy_flex_debug rmap_flex_debug
267 #endif
268 
269 #ifdef yylineno
270 #define rmaplineno_ALREADY_DEFINED
271 #else
272 #define yylineno rmaplineno
273 #endif
274 
275 /* First, we deal with platform-specific or compiler-specific issues. */
276 
277 /* begin standard C headers. */
278 #include <stdio.h>
279 #include <string.h>
280 #include <errno.h>
281 #include <stdlib.h>
282 
283 /* end standard C headers. */
284 
285 /* flex integer type definitions */
286 
287 #ifndef FLEXINT_H
288 #define FLEXINT_H
289 
290 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
291 
292 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
293 
294 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
295  * if you want the limit (max/min) macros for int types.
296  */
297 #ifndef __STDC_LIMIT_MACROS
298 #define __STDC_LIMIT_MACROS 1
299 #endif
300 
301 #include <inttypes.h>
302 typedef int8_t flex_int8_t;
303 typedef uint8_t flex_uint8_t;
304 typedef int16_t flex_int16_t;
305 typedef uint16_t flex_uint16_t;
306 typedef int32_t flex_int32_t;
307 typedef uint32_t flex_uint32_t;
308 #else
309 typedef signed char flex_int8_t;
310 typedef short int flex_int16_t;
311 typedef int flex_int32_t;
312 typedef unsigned char flex_uint8_t;
313 typedef unsigned short int flex_uint16_t;
314 typedef unsigned int flex_uint32_t;
315 
316 /* Limits of integral types. */
317 #ifndef INT8_MIN
318 #define INT8_MIN (-128)
319 #endif
320 #ifndef INT16_MIN
321 #define INT16_MIN (-32767-1)
322 #endif
323 #ifndef INT32_MIN
324 #define INT32_MIN (-2147483647-1)
325 #endif
326 #ifndef INT8_MAX
327 #define INT8_MAX (127)
328 #endif
329 #ifndef INT16_MAX
330 #define INT16_MAX (32767)
331 #endif
332 #ifndef INT32_MAX
333 #define INT32_MAX (2147483647)
334 #endif
335 #ifndef UINT8_MAX
336 #define UINT8_MAX (255U)
337 #endif
338 #ifndef UINT16_MAX
339 #define UINT16_MAX (65535U)
340 #endif
341 #ifndef UINT32_MAX
342 #define UINT32_MAX (4294967295U)
343 #endif
344 
345 #ifndef SIZE_MAX
346 #define SIZE_MAX (~(size_t)0)
347 #endif
348 
349 #endif /* ! C99 */
350 
351 #endif /* ! FLEXINT_H */
352 
353 /* begin standard C++ headers. */
354 
355 /* TODO: this is always defined, so inline it */
356 #define yyconst const
357 
358 #if defined(__GNUC__) && __GNUC__ >= 3
359 #define yynoreturn __attribute__((__noreturn__))
360 #else
361 #define yynoreturn
362 #endif
363 
364 /* Returned upon end-of-file. */
365 #define YY_NULL 0
366 
367 /* Promotes a possibly negative, possibly signed char to an
368  * integer in range [0..255] for use as an array index.
369  */
370 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
371 
372 /* Enter a start condition. This macro really ought to take a parameter,
373  * but we do it the disgusting crufty way forced on us by the ()-less
374  * definition of BEGIN.
375  */
376 #define BEGIN (yy_start) = 1 + 2 *
377 /* Translate the current start state into a value that can be later handed
378  * to BEGIN to return to the state. The YYSTATE alias is for lex
379  * compatibility.
380  */
381 #define YY_START (((yy_start) - 1) / 2)
382 #define YYSTATE YY_START
383 /* Action number for EOF rule of a given start state. */
384 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
385 /* Special action meaning "start processing a new file". */
386 #define YY_NEW_FILE yyrestart( yyin )
387 #define YY_END_OF_BUFFER_CHAR 0
388 
389 /* Size of default input buffer. */
390 #ifndef YY_BUF_SIZE
391 #ifdef __ia64__
392 /* On IA-64, the buffer size is 16k, not 8k.
393  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
394  * Ditto for the __ia64__ case accordingly.
395  */
396 #define YY_BUF_SIZE 32768
397 #else
398 #define YY_BUF_SIZE 16384
399 #endif /* __ia64__ */
400 #endif
401 
402 /* The state buf must be large enough to hold one state per character in the main buffer.
403  */
404 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
405 
406 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
407 #define YY_TYPEDEF_YY_BUFFER_STATE
409 #endif
410 
411 #ifndef YY_TYPEDEF_YY_SIZE_T
412 #define YY_TYPEDEF_YY_SIZE_T
413 typedef size_t yy_size_t;
414 #endif
415 
416 extern int yyleng;
417 
418 extern FILE *yyin, *yyout;
419 
420 #define EOB_ACT_CONTINUE_SCAN 0
421 #define EOB_ACT_END_OF_FILE 1
422 #define EOB_ACT_LAST_MATCH 2
423 
424  #define YY_LESS_LINENO(n)
425  #define YY_LINENO_REWIND_TO(ptr)
426 
427 /* Return all but the first "n" matched characters back to the input stream. */
428 #define yyless(n) \
429  do \
430  { \
431  /* Undo effects of setting up yytext. */ \
432  int yyless_macro_arg = (n); \
433  YY_LESS_LINENO(yyless_macro_arg);\
434  *yy_cp = (yy_hold_char); \
435  YY_RESTORE_YY_MORE_OFFSET \
436  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
437  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
438  } \
439  while ( 0 )
440 #define unput(c) yyunput( c, (yytext_ptr) )
441 
442 #ifndef YY_STRUCT_YY_BUFFER_STATE
443 #define YY_STRUCT_YY_BUFFER_STATE
444 struct yy_buffer_state
445  {
446  FILE *yy_input_file;
447 
448  char *yy_ch_buf; /* input buffer */
449  char *yy_buf_pos; /* current position in input buffer */
450 
451  /* Size of input buffer in bytes, not including room for EOB
452  * characters.
453  */
454  int yy_buf_size;
455 
456  /* Number of characters read into yy_ch_buf, not including EOB
457  * characters.
458  */
459  int yy_n_chars;
460 
461  /* Whether we "own" the buffer - i.e., we know we created it,
462  * and can realloc() it to grow it, and should free() it to
463  * delete it.
464  */
465  int yy_is_our_buffer;
466 
467  /* Whether this is an "interactive" input source; if so, and
468  * if we're using stdio for input, then we want to use getc()
469  * instead of fread(), to make sure we stop fetching input after
470  * each newline.
471  */
472  int yy_is_interactive;
473 
474  /* Whether we're considered to be at the beginning of a line.
475  * If so, '^' rules will be active on the next match, otherwise
476  * not.
477  */
478  int yy_at_bol;
479 
480  int yy_bs_lineno;
481  int yy_bs_column;
483  /* Whether to try to fill the input buffer when we reach the
484  * end of it.
485  */
486  int yy_fill_buffer;
487 
488  int yy_buffer_status;
489 
490 #define YY_BUFFER_NEW 0
491 #define YY_BUFFER_NORMAL 1
492  /* When an EOF's been seen but there's still some text to process
493  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
494  * shouldn't try reading from the input source any more. We might
495  * still have a bunch of tokens to match, though, because of
496  * possible backing-up.
497  *
498  * When we actually see the EOF, we change the status to "new"
499  * (via yyrestart()), so that the user can continue scanning by
500  * just pointing yyin at a new input file.
501  */
502 #define YY_BUFFER_EOF_PENDING 2
503 
504  };
505 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
506 
507 /* Stack of input buffers. */
508 static size_t yy_buffer_stack_top = 0;
509 static size_t yy_buffer_stack_max = 0;
512 /* We provide macros for accessing buffer states in case in the
513  * future we want to put the buffer states in a more general
514  * "scanner state".
515  *
516  * Returns the top of the stack, or NULL.
517  */
518 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
519  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
520  : NULL)
521 /* Same as previous macro, but useful when we know that the buffer stack is not
522  * NULL or when we need an lvalue. For internal use only.
523  */
524 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
525 
526 /* yy_hold_char holds the character lost when yytext is formed. */
527 static char yy_hold_char;
528 static int yy_n_chars; /* number of characters read into yy_ch_buf */
529 int yyleng;
530 
531 /* Points to current character in buffer. */
532 static char *yy_c_buf_p = NULL;
533 static int yy_init = 0; /* whether we need to initialize */
534 static int yy_start = 0; /* start state number */
535 
536 /* Flag which is used to allow yywrap()'s to do buffer switches
537  * instead of setting up a fresh yyin. A bit of a hack ...
538  */
540 
541 void yyrestart ( FILE *input_file );
542 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
543 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
546 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
547 void yypop_buffer_state ( void );
548 
549 static void yyensure_buffer_stack ( void );
550 static void yy_load_buffer_state ( void );
551 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
552 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
553 
554 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
555 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
556 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
557 
558 void *yyalloc ( yy_size_t );
559 void *yyrealloc ( void *, yy_size_t );
560 void yyfree ( void * );
561 
562 #define yy_new_buffer yy_create_buffer
563 #define yy_set_interactive(is_interactive) \
564  { \
565  if ( ! YY_CURRENT_BUFFER ){ \
566  yyensure_buffer_stack (); \
567  YY_CURRENT_BUFFER_LVALUE = \
568  yy_create_buffer( yyin, YY_BUF_SIZE ); \
569  } \
570  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
571  }
572 #define yy_set_bol(at_bol) \
573  { \
574  if ( ! YY_CURRENT_BUFFER ){\
575  yyensure_buffer_stack (); \
576  YY_CURRENT_BUFFER_LVALUE = \
577  yy_create_buffer( yyin, YY_BUF_SIZE ); \
578  } \
579  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
580  }
581 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
582 
583 /* Begin user sect3 */
584 
585 #define rmapwrap() (/*CONSTCOND*/1)
586 #define YY_SKIP_YYWRAP
588 
589 FILE *yyin = NULL, *yyout = NULL;
590 
591 typedef int yy_state_type;
592 
593 extern int yylineno;
594 int yylineno = 1;
595 
596 extern char *yytext;
597 #ifdef yytext_ptr
598 #undef yytext_ptr
599 #endif
600 #define yytext_ptr yytext
601 
602 static yy_state_type yy_get_previous_state ( void );
603 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
604 static int yy_get_next_buffer ( void );
605 static void yynoreturn yy_fatal_error ( const char* msg );
606 
607 /* Done after the current pattern has been matched and before the
608  * corresponding action - sets up yytext.
609  */
610 #define YY_DO_BEFORE_ACTION \
611  (yytext_ptr) = yy_bp; \
612  yyleng = (int) (yy_cp - yy_bp); \
613  (yy_hold_char) = *yy_cp; \
614  *yy_cp = '\0'; \
615  (yy_c_buf_p) = yy_cp;
616 #define YY_NUM_RULES 37
617 #define YY_END_OF_BUFFER 38
618 /* This struct is not used in this scanner,
619  but its presence is necessary. */
620 struct yy_trans_info
621  {
624  };
625 static const flex_int16_t yy_accept[390] =
626  { 0,
627  36, 36, 0, 0, 38, 36, 34, 36, 36, 36,
628  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
629  36, 36, 37, 37, 36, 36, 35, 36, 34, 36,
630  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
631  36, 36, 36, 36, 36, 36, 36, 36, 36, 0,
632  34, 36, 36, 36, 36, 36, 36, 36, 36, 36,
633  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
634  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
635  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
636  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
637 
638  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
639  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
640  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
641  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
642  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
643  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
644  36, 36, 36, 36, 36, 9, 9, 10, 10, 36,
645  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
646  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
647  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
648 
649  36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
650  36, 36, 36, 36, 36, 36, 36, 36, 33, 33,
651  36, 36, 36, 36, 36, 36, 32, 32, 36, 36,
652  36, 36, 36, 36, 36, 36, 36, 11, 11, 36,
653  36, 36, 36, 36, 36, 36, 36, 36, 25, 25,
654  26, 26, 36, 14, 14, 36, 36, 36, 36, 36,
655  36, 36, 36, 6, 6, 36, 36, 36, 18, 18,
656  36, 36, 22, 22, 36, 36, 36, 36, 36, 36,
657  36, 36, 36, 36, 1, 1, 8, 8, 36, 7,
658  7, 15, 15, 36, 36, 36, 36, 36, 36, 2,
659 
660  2, 36, 36, 36, 36, 36, 27, 27, 36, 36,
661  36, 36, 36, 36, 36, 36, 36, 36, 36, 5,
662  5, 36, 36, 24, 24, 28, 28, 36, 36, 17,
663  17, 36, 36, 36, 20, 20, 36, 36, 36, 36,
664  3, 3, 36, 36, 36, 36, 21, 21, 19, 19,
665  36, 36, 36, 36, 36, 36, 4, 4, 36, 36,
666  36, 12, 12, 13, 13, 36, 36, 36, 36, 36,
667  31, 31, 29, 29, 36, 36, 36, 36, 30, 30,
668  36, 36, 36, 16, 16, 36, 23, 23, 0
669  } ;
670 
671 static const YY_CHAR yy_ec[256] =
672  { 0,
673  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
674  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
675  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
676  1, 2, 1, 1, 4, 5, 1, 1, 1, 1,
677  1, 1, 1, 1, 1, 1, 1, 1, 6, 7,
678  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
679  1, 1, 1, 1, 8, 1, 9, 10, 11, 12,
680  13, 14, 15, 1, 16, 17, 18, 19, 20, 21,
681  1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
682  1, 1, 1, 31, 32, 1, 33, 1, 34, 35,
683 
684  36, 37, 38, 39, 40, 1, 41, 42, 43, 44,
685  45, 46, 1, 47, 48, 49, 50, 51, 52, 53,
686  54, 55, 1, 1, 1, 1, 1, 1, 1, 1,
687  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
688  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
689  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
690  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
691  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
692  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
693  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
694 
695  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
696  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
697  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
698  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
700  1, 1, 1, 1, 1
701  } ;
702 
703 static const YY_CHAR yy_meta[56] =
704  { 0,
705  1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
706  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
708  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
709  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710  1, 1, 1, 1, 1
711  } ;
712 
713 static const flex_int16_t yy_base[427] =
714  { 0,
715  0, 31, 84, 85, 715, 0, 716, 711, 0, 75,
716  109, 65, 79, 89, 78, 80, 92, 72, 84, 99,
717  85, 87, 716, 4, 0, 710, 716, 5, 0, 100,
718  90, 104, 127, 120, 122, 129, 124, 126, 118, 129,
719  134, 137, 129, 136, 138, 146, 141, 145, 146, 6,
720  716, 139, 147, 147, 158, 152, 166, 160, 181, 182,
721  171, 173, 171, 172, 187, 187, 191, 184, 195, 188,
722  176, 177, 184, 191, 189, 197, 190, 206, 197, 205,
723  217, 217, 215, 217, 228, 225, 231, 227, 228, 239,
724  228, 229, 242, 243, 232, 245, 237, 249, 237, 242,
725 
726  239, 247, 260, 680, 251, 260, 278, 269, 267, 274,
727  274, 278, 273, 273, 276, 709, 708, 277, 279, 282,
728  280, 280, 277, 288, 279, 291, 702, 302, 287, 314,
729  295, 307, 331, 676, 318, 675, 319, 321, 315, 704,
730  703, 317, 324, 324, 321, 334, 335, 672, 336, 671,
731  326, 327, 348, 328, 337, 336, 338, 352, 343, 366,
732  700, 351, 358, 378, 373, 0, 699, 0, 698, 374,
733  697, 378, 379, 373, 387, 391, 389, 390, 696, 388,
734  383, 388, 382, 378, 387, 665, 398, 409, 694, 693,
735  692, 413, 691, 414, 428, 429, 690, 421, 432, 415,
736 
737  689, 434, 435, 439, 688, 433, 687, 426, 686, 440,
738  437, 436, 425, 443, 436, 436, 685, 684, 0, 683,
739  447, 682, 439, 437, 681, 680, 0, 679, 444, 678,
740  465, 677, 453, 458, 469, 676, 470, 0, 675, 644,
741  673, 672, 470, 480, 475, 476, 475, 671, 0, 670,
742  0, 669, 485, 0, 668, 472, 469, 667, 666, 477,
743  665, 664, 486, 0, 663, 478, 492, 493, 0, 662,
744  497, 498, 0, 661, 660, 488, 659, 497, 490, 658,
745  657, 656, 496, 496, 0, 655, 0, 654, 653, 0,
746  652, 0, 651, 503, 510, 517, 650, 520, 517, 0,
747 
748  649, 517, 648, 647, 521, 646, 0, 645, 644, 522,
749  532, 643, 535, 642, 641, 640, 609, 536, 6, 0,
750  638, 637, 524, 0, 636, 0, 635, 529, 634, 0,
751  633, 528, 632, 631, 0, 630, 533, 538, 629, 628,
752  0, 627, 530, 531, 626, 544, 0, 625, 0, 624,
753  548, 546, 623, 622, 621, 620, 0, 619, 550, 539,
754  537, 0, 618, 0, 617, 609, 608, 540, 606, 543,
755  0, 605, 0, 604, 563, 603, 563, 602, 0, 601,
756  576, 600, 599, 0, 598, 596, 0, 594, 716, 612,
757  614, 594, 616, 593, 592, 591, 590, 589, 588, 369,
758 
759  311, 108, 103, 98, 94, 91, 90, 89, 29, 28,
760  27, 26, 25, 24, 23, 22, 21, 20, 19, 18,
761  17, 16, 15, 14, 13, 0
762  } ;
763 
764 static const flex_int16_t yy_def[427] =
765  { 0,
766  390, 389, 391, 391, 389, 392, 389, 393, 392, 392,
767  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
768  392, 392, 389, 389, 392, 393, 389, 392, 392, 392,
769  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
770  392, 392, 392, 392, 392, 392, 392, 392, 392, 389,
771  389, 392, 392, 392, 392, 392, 392, 392, 392, 392,
772  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
773  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
774  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
775  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
776 
777  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
778  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
779  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
780  392, 392, 392, 392, 392, 392, 392, 392, 392, 394,
781  395, 392, 392, 392, 392, 392, 392, 392, 392, 392,
782  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
783  392, 392, 392, 392, 392, 394, 394, 395, 395, 392,
784  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
785  392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
786  396, 392, 392, 392, 392, 392, 397, 392, 392, 392,
787 
788  392, 392, 392, 392, 392, 392, 398, 392, 392, 392,
789  392, 392, 392, 392, 392, 392, 399, 400, 396, 396,
790  392, 401, 392, 392, 392, 392, 397, 397, 392, 392,
791  392, 402, 392, 392, 392, 403, 392, 398, 398, 392,
792  404, 392, 392, 392, 392, 392, 392, 392, 399, 399,
793  400, 400, 392, 401, 401, 392, 392, 405, 406, 392,
794  407, 408, 392, 402, 402, 392, 392, 392, 403, 403,
795  392, 392, 404, 404, 409, 392, 392, 392, 392, 392,
796  410, 392, 392, 392, 405, 405, 406, 406, 392, 407,
797  407, 408, 408, 392, 392, 392, 392, 392, 392, 409,
798 
799  409, 392, 411, 392, 392, 412, 410, 410, 413, 392,
800  392, 414, 392, 392, 392, 415, 392, 392, 392, 411,
801  411, 416, 392, 412, 412, 413, 413, 392, 392, 414,
802  414, 392, 417, 418, 415, 415, 392, 392, 392, 392,
803  416, 416, 392, 392, 419, 392, 417, 417, 418, 418,
804  392, 392, 420, 421, 392, 392, 419, 419, 392, 392,
805  392, 420, 420, 421, 421, 422, 423, 392, 392, 392,
806  422, 422, 423, 423, 392, 424, 392, 392, 424, 424,
807  392, 425, 392, 425, 425, 426, 426, 426, 0, 389,
808  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
809 
810  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
811  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
812  389, 389, 389, 389, 389, 389
813  } ;
814 
815 static const flex_int16_t yy_nxt[772] =
816  { 0,
817  387, 28, 7, 8, 29, 50, 28, 50, 51, 29,
818  51, 339, 340, 384, 379, 373, 371, 364, 362, 357,
819  349, 347, 341, 335, 330, 326, 324, 320, 307, 300,
820  9, 6, 6, 7, 8, 6, 6, 6, 6, 10,
821  11, 12, 13, 6, 6, 6, 6, 14, 15, 6,
822  16, 6, 17, 18, 19, 6, 6, 20, 21, 22,
823  6, 9, 6, 6, 10, 11, 12, 13, 6, 6,
824  6, 6, 14, 15, 6, 16, 6, 17, 18, 19,
825  6, 6, 20, 21, 22, 6, 7, 7, 30, 292,
826  290, 287, 36, 37, 285, 38, 39, 40, 273, 44,
827 
828  45, 42, 41, 269, 43, 46, 47, 48, 264, 49,
829  52, 53, 54, 30, 24, 24, 31, 36, 37, 32,
830  38, 39, 40, 33, 44, 45, 42, 41, 34, 43,
831  46, 47, 48, 35, 49, 52, 53, 54, 55, 56,
832  57, 31, 60, 58, 32, 61, 62, 63, 33, 59,
833  64, 65, 66, 34, 67, 68, 69, 70, 35, 71,
834  72, 73, 74, 55, 56, 57, 75, 60, 58, 76,
835  61, 62, 63, 77, 59, 64, 65, 66, 78, 67,
836  68, 69, 70, 79, 71, 72, 73, 74, 80, 81,
837  82, 75, 83, 84, 76, 85, 88, 86, 77, 87,
838 
839  89, 90, 91, 78, 92, 93, 94, 95, 79, 96,
840  97, 98, 99, 80, 81, 82, 100, 83, 84, 101,
841  85, 88, 86, 103, 87, 89, 90, 91, 102, 92,
842  93, 94, 95, 104, 96, 97, 98, 99, 105, 106,
843  107, 100, 108, 109, 101, 110, 111, 112, 103, 113,
844  114, 115, 116, 117, 118, 119, 120, 122, 104, 121,
845  123, 124, 125, 105, 106, 107, 126, 108, 109, 127,
846  110, 111, 112, 129, 113, 114, 115, 116, 117, 118,
847  119, 120, 122, 130, 121, 123, 124, 125, 131, 132,
848  133, 126, 134, 135, 127, 136, 137, 138, 129, 139,
849 
850  142, 143, 144, 145, 146, 147, 148, 149, 130, 150,
851  154, 254, 152, 131, 132, 133, 157, 134, 135, 153,
852  136, 137, 138, 158, 139, 142, 143, 144, 145, 146,
853  147, 148, 149, 155, 150, 154, 156, 152, 159, 161,
854  163, 157, 164, 165, 153, 170, 171, 172, 158, 173,
855  174, 175, 177, 179, 180, 181, 182, 183, 155, 184,
856  185, 156, 186, 159, 161, 163, 187, 164, 165, 251,
857  170, 171, 172, 192, 173, 174, 175, 177, 179, 180,
858  181, 182, 183, 188, 184, 185, 193, 186, 194, 195,
859  196, 187, 198, 189, 190, 199, 200, 201, 192, 205,
860 
861  202, 206, 208, 209, 210, 211, 212, 203, 188, 204,
862  213, 193, 215, 194, 195, 196, 216, 198, 189, 190,
863  199, 200, 201, 221, 205, 202, 206, 208, 209, 210,
864  211, 212, 203, 223, 204, 213, 224, 215, 225, 226,
865  229, 216, 230, 231, 233, 234, 235, 237, 221, 240,
866  242, 243, 244, 245, 246, 247, 248, 253, 223, 256,
867  257, 224, 260, 225, 226, 229, 262, 230, 231, 233,
868  234, 235, 237, 266, 240, 242, 243, 244, 245, 246,
869  247, 248, 253, 267, 256, 257, 268, 260, 271, 276,
870  277, 278, 279, 280, 282, 283, 263, 284, 266, 289,
871 
872  294, 295, 296, 297, 298, 299, 302, 304, 267, 305,
873  310, 268, 311, 271, 276, 277, 278, 279, 280, 282,
874  283, 313, 284, 314, 289, 294, 295, 296, 297, 298,
875  299, 302, 304, 315, 305, 310, 317, 311, 318, 319,
876  323, 328, 329, 332, 338, 343, 313, 344, 314, 346,
877  351, 352, 355, 356, 359, 360, 361, 368, 315, 369,
878  370, 317, 375, 318, 319, 323, 328, 329, 332, 338,
879  343, 377, 344, 378, 346, 351, 352, 355, 356, 359,
880  360, 361, 368, 381, 369, 370, 383, 375, 249, 238,
881  227, 219, 168, 166, 25, 388, 377, 388, 378, 385,
882 
883  386, 385, 380, 382, 380, 374, 372, 376, 381, 374,
884  372, 383, 6, 6, 23, 23, 26, 26, 365, 363,
885  358, 367, 366, 365, 363, 350, 348, 358, 342, 354,
886  353, 336, 350, 348, 331, 345, 327, 325, 342, 321,
887  337, 336, 334, 333, 331, 327, 308, 325, 322, 321,
888  301, 316, 293, 291, 312, 288, 286, 309, 308, 306,
889  303, 301, 274, 270, 265, 293, 291, 288, 286, 255,
890  252, 250, 281, 275, 274, 272, 239, 270, 265, 261,
891  228, 259, 258, 255, 220, 252, 250, 241, 239, 236,
892  232, 228, 222, 220, 218, 217, 214, 207, 197, 169,
893 
894  167, 191, 178, 176, 169, 167, 162, 160, 151, 141,
895  140, 128, 27, 27, 389, 5, 389, 389, 389, 389,
896  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
897  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
898  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
899  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
900  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
901  389
902  } ;
903 
904 static const flex_int16_t yy_chk[772] =
905  { 0,
906  426, 9, 1, 1, 9, 24, 28, 50, 24, 28,
907  50, 319, 319, 425, 424, 423, 422, 421, 420, 419,
908  418, 417, 416, 415, 414, 413, 412, 411, 410, 409,
909  1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
910  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
911  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
912  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
913  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
914  2, 2, 2, 2, 2, 2, 3, 4, 10, 408,
915  407, 406, 12, 13, 405, 13, 14, 15, 404, 17,
916 
917  18, 16, 15, 403, 16, 19, 20, 21, 402, 22,
918  30, 31, 32, 10, 3, 4, 11, 12, 13, 11,
919  13, 14, 15, 11, 17, 18, 16, 15, 11, 16,
920  19, 20, 21, 11, 22, 30, 31, 32, 33, 34,
921  35, 11, 37, 36, 11, 38, 39, 40, 11, 36,
922  41, 42, 43, 11, 44, 45, 46, 47, 11, 48,
923  49, 52, 53, 33, 34, 35, 54, 37, 36, 55,
924  38, 39, 40, 56, 36, 41, 42, 43, 57, 44,
925  45, 46, 47, 58, 48, 49, 52, 53, 59, 60,
926  61, 54, 62, 63, 55, 64, 66, 65, 56, 65,
927 
928  67, 68, 69, 57, 70, 71, 72, 73, 58, 74,
929  75, 76, 77, 59, 60, 61, 78, 62, 63, 79,
930  64, 66, 65, 80, 65, 67, 68, 69, 79, 70,
931  71, 72, 73, 81, 74, 75, 76, 77, 82, 83,
932  84, 78, 85, 86, 79, 87, 88, 89, 80, 90,
933  91, 92, 93, 94, 95, 96, 97, 98, 81, 97,
934  99, 100, 101, 82, 83, 84, 102, 85, 86, 103,
935  87, 88, 89, 105, 90, 91, 92, 93, 94, 95,
936  96, 97, 98, 106, 97, 99, 100, 101, 107, 108,
937  109, 102, 110, 111, 103, 112, 113, 114, 105, 115,
938 
939  118, 119, 120, 121, 122, 123, 124, 125, 106, 126,
940  129, 401, 128, 107, 108, 109, 131, 110, 111, 128,
941  112, 113, 114, 132, 115, 118, 119, 120, 121, 122,
942  123, 124, 125, 130, 126, 129, 130, 128, 133, 135,
943  137, 131, 138, 139, 128, 142, 143, 144, 132, 145,
944  146, 147, 149, 151, 152, 153, 154, 155, 130, 156,
945  157, 130, 158, 133, 135, 137, 159, 138, 139, 400,
946  142, 143, 144, 162, 145, 146, 147, 149, 151, 152,
947  153, 154, 155, 160, 156, 157, 163, 158, 164, 165,
948  170, 159, 172, 160, 160, 173, 174, 175, 162, 177,
949 
950  176, 178, 180, 181, 182, 183, 184, 176, 160, 176,
951  185, 163, 187, 164, 165, 170, 188, 172, 160, 160,
952  173, 174, 175, 192, 177, 176, 178, 180, 181, 182,
953  183, 184, 176, 194, 176, 185, 194, 187, 195, 196,
954  198, 188, 199, 200, 202, 203, 204, 206, 192, 208,
955  210, 211, 212, 213, 214, 215, 216, 221, 194, 223,
956  224, 194, 229, 195, 196, 198, 231, 199, 200, 202,
957  203, 204, 206, 233, 208, 210, 211, 212, 213, 214,
958  215, 216, 221, 234, 223, 224, 235, 229, 237, 243,
959  244, 245, 246, 247, 253, 256, 231, 257, 233, 260,
960 
961  263, 266, 267, 268, 271, 272, 276, 278, 234, 279,
962  283, 235, 284, 237, 243, 244, 245, 246, 247, 253,
963  256, 294, 257, 295, 260, 263, 266, 267, 268, 271,
964  272, 276, 278, 296, 279, 283, 298, 284, 299, 302,
965  305, 310, 311, 313, 318, 323, 294, 328, 295, 332,
966  337, 338, 343, 344, 346, 351, 352, 359, 296, 360,
967  361, 298, 368, 299, 302, 305, 310, 311, 313, 318,
968  323, 370, 328, 375, 332, 337, 338, 343, 344, 346,
969  351, 352, 359, 377, 360, 361, 381, 368, 399, 398,
970  397, 396, 395, 394, 392, 388, 370, 386, 375, 385,
971 
972  383, 382, 380, 378, 376, 374, 372, 369, 377, 367,
973  366, 381, 390, 390, 391, 391, 393, 393, 365, 363,
974  358, 356, 355, 354, 353, 350, 348, 345, 342, 340,
975  339, 336, 334, 333, 331, 329, 327, 325, 322, 321,
976  317, 316, 315, 314, 312, 309, 308, 306, 304, 303,
977  301, 297, 293, 291, 289, 288, 286, 282, 281, 280,
978  277, 275, 274, 270, 265, 262, 261, 259, 258, 255,
979  252, 250, 248, 242, 241, 240, 239, 236, 232, 230,
980  228, 226, 225, 222, 220, 218, 217, 209, 207, 205,
981  201, 197, 193, 191, 190, 189, 186, 179, 171, 169,
982 
983  167, 161, 150, 148, 141, 140, 136, 134, 127, 117,
984  116, 104, 26, 8, 5, 389, 389, 389, 389, 389,
985  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
986  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
987  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
988  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
989  389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
990  389
991  } ;
992 
995 
996 extern int yy_flex_debug;
998 
999 /* The intent behind this definition is that it'll catch
1000  * any uses of REJECT which flex missed.
1001  */
1002 #define REJECT reject_used_but_not_detected
1003 #define yymore() yymore_used_but_not_detected
1004 #define YY_MORE_ADJ 0
1005 #define YY_RESTORE_YY_MORE_OFFSET
1006 char *yytext;
1007 #line 1 "reader.l"
1008 #line 2 "reader.l"
1009 /*
1010  * static char *reader_l =
1011  * "$Id$";
1012  */
1013 
1014 /*
1015  CrossFire, A Multiplayer game for X-windows
1016 
1017  Copyright (C) 1994 Mark Wedel
1018  Copyright (C) 1992 Frank Tore Johansen
1019 
1020  This program is free software; you can redistribute it and/or modify
1021  it under the terms of the GNU General Public License as published by
1022  the Free Software Foundation; either version 2 of the License, or
1023  (at your option) any later version.
1024 
1025  This program is distributed in the hope that it will be useful,
1026  but WITHOUT ANY WARRANTY; without even the implied warranty of
1027  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1028  GNU General Public License for more details.
1029 
1030  You should have received a copy of the GNU General Public License
1031  along with this program; if not, write to the Free Software
1032  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
1033 
1034  The author can be reached via e-mail to mark@pyramid.com
1035 */
1036 
1037 #include <global.h>
1038 #include <loader.h>
1039 #include <newserver.h>
1040 #include <random_map.h>
1041 
1042 #define YY_DECL int rmap_lex_read(RMParms *RP)
1043 
1044 static char *rmap_yval(void);
1045 static int rmap_lex_read(RMParms *RP);
1046 
1047 static int rmap_lex_error;
1048 
1049 #define IVAL atoi(rmap_yval())
1050 #define FVAL atof(rmap_yval())
1051 
1058 static int yyerror(const char *s)
1059 {
1060  LOG(llevError, "%s: %s\n", s, yytext);
1061  return -1;
1062 }
1063 
1064 #line 1065 "reader.c"
1065 
1066 /* Don't have to link with -lfl with this */
1067 /* those functions are unused, not sure of compatibility with Flex versions. */
1068 #define YY_NO_INPUT 1
1069 #line 1070 "reader.c"
1070 
1071 #define INITIAL 0
1072 #define MESSAGE 1
1073 
1074 #ifndef YY_NO_UNISTD_H
1075 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1076  * down here because we want the user's section 1 to have been scanned first.
1077  * The user has a chance to override it with an option.
1078  */
1079 #include <unistd.h>
1080 #endif
1081 
1082 #ifndef YY_EXTRA_TYPE
1083 #define YY_EXTRA_TYPE void *
1084 #endif
1085 
1086 static int yy_init_globals ( void );
1087 
1088 /* Accessor methods to globals.
1089  These are made visible to non-reentrant scanners for convenience. */
1090 
1091 int yylex_destroy ( void );
1092 
1093 int yyget_debug ( void );
1094 
1095 void yyset_debug ( int debug_flag );
1096 
1097 YY_EXTRA_TYPE yyget_extra ( void );
1098 
1099 void yyset_extra ( YY_EXTRA_TYPE user_defined );
1100 
1101 FILE *yyget_in ( void );
1102 
1103 void yyset_in ( FILE * _in_str );
1104 
1105 FILE *yyget_out ( void );
1106 
1107 void yyset_out ( FILE * _out_str );
1108 
1109  int yyget_leng ( void );
1110 
1111 char *yyget_text ( void );
1112 
1113 int yyget_lineno ( void );
1114 
1115 void yyset_lineno ( int _line_number );
1116 
1117 /* Macros after this point can all be overridden by user definitions in
1118  * section 1.
1119  */
1120 
1121 #ifndef YY_SKIP_YYWRAP
1122 #ifdef __cplusplus
1123 extern "C" int yywrap ( void );
1124 #else
1125 extern int yywrap ( void );
1126 #endif
1127 #endif
1128 
1129 #ifndef YY_NO_UNPUT
1130 
1131 #endif
1132 
1133 #ifndef yytext_ptr
1134 static void yy_flex_strncpy ( char *, const char *, int );
1135 #endif
1136 
1137 #ifdef YY_NEED_STRLEN
1138 static int yy_flex_strlen ( const char * );
1139 #endif
1140 
1141 #ifndef YY_NO_INPUT
1142 #ifdef __cplusplus
1143 static int yyinput ( void );
1144 #else
1145 static int input ( void );
1146 #endif
1147 
1148 #endif
1149 
1150 /* Amount of stuff to slurp up with each read. */
1151 #ifndef YY_READ_BUF_SIZE
1152 #ifdef __ia64__
1153 /* On IA-64, the buffer size is 16k, not 8k */
1154 #define YY_READ_BUF_SIZE 16384
1155 #else
1156 #define YY_READ_BUF_SIZE 8192
1157 #endif /* __ia64__ */
1158 #endif
1159 
1160 /* Copy whatever the last rule matched to the standard output. */
1161 #ifndef ECHO
1162 /* This used to be an fputs(), but since the string might contain NUL's,
1163  * we now use fwrite().
1164  */
1165 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1166 #endif
1167 
1168 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1169  * is returned in "result".
1170  */
1171 #ifndef YY_INPUT
1172 #define YY_INPUT(buf,result,max_size) \
1173  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1174  { \
1175  int c = '*'; \
1176  int n; \
1177  for ( n = 0; n < max_size && \
1178  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1179  buf[n] = (char) c; \
1180  if ( c == '\n' ) \
1181  buf[n++] = (char) c; \
1182  if ( c == EOF && ferror( yyin ) ) \
1183  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1184  result = n; \
1185  } \
1186  else \
1187  { \
1188  errno=0; \
1189  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1190  { \
1191  if( errno != EINTR) \
1192  { \
1193  YY_FATAL_ERROR( "input in flex scanner failed" ); \
1194  break; \
1195  } \
1196  errno=0; \
1197  clearerr(yyin); \
1198  } \
1199  }\
1200 \
1201 
1202 #endif
1203 
1204 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1205  * we don't want an extra ';' after the "return" because that will cause
1206  * some compilers to complain about unreachable statements.
1207  */
1208 #ifndef yyterminate
1209 #define yyterminate() return YY_NULL
1210 #endif
1211 
1212 /* Number of entries by which start-condition stack grows. */
1213 #ifndef YY_START_STACK_INCR
1214 #define YY_START_STACK_INCR 25
1215 #endif
1216 
1217 /* Report a fatal error. */
1218 #ifndef YY_FATAL_ERROR
1219 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1220 #endif
1221 
1222 /* end tables serialization structures and prototypes */
1223 
1224 /* Default declaration of generated scanner - a define so the user can
1225  * easily add parameters.
1226  */
1227 #ifndef YY_DECL
1228 #define YY_DECL_IS_OURS 1
1229 
1230 extern int yylex (void);
1231 
1232 #define YY_DECL int yylex (void)
1233 #endif /* !YY_DECL */
1234 
1235 /* Code executed at the beginning of each rule, after yytext and yyleng
1236  * have been set up.
1237  */
1238 #ifndef YY_USER_ACTION
1239 #define YY_USER_ACTION
1240 #endif
1241 
1242 /* Code executed at the end of each rule. */
1243 #ifndef YY_BREAK
1244 #define YY_BREAK /*LINTED*/break;
1245 #endif
1246 
1247 #define YY_RULE_SETUP \
1248  if ( yyleng > 0 ) \
1249  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1250  (yytext[yyleng - 1] == '\n'); \
1251  YY_USER_ACTION
1252 
1255 YY_DECL
1257  yy_state_type yy_current_state;
1258  char *yy_cp, *yy_bp;
1259  int yy_act;
1260 
1261  if ( !(yy_init) )
1262  {
1263  (yy_init) = 1;
1264 
1265 #ifdef YY_USER_INIT
1266  YY_USER_INIT;
1267 #endif
1268 
1269  if ( ! (yy_start) )
1270  (yy_start) = 1; /* first start state */
1271 
1272  if ( ! yyin )
1273  yyin = stdin;
1274 
1275  if ( ! yyout )
1276  yyout = stdout;
1277 
1278  if ( ! YY_CURRENT_BUFFER ) {
1282  }
1283 
1285  }
1286 
1287  {
1288 #line 72 "reader.l"
1289 
1290 
1291 
1292 #line 76 "reader.l"
1293 /* Declare some local variables */
1294 
1295  rmap_lex_error = 0;
1296 
1297 
1298 
1299 #line 1300 "reader.c"
1300 
1301  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1302  {
1303  yy_cp = (yy_c_buf_p);
1304 
1305  /* Support of yytext. */
1306  *yy_cp = (yy_hold_char);
1307 
1308  /* yy_bp points to the position in yy_ch_buf of the start of
1309  * the current run.
1310  */
1311  yy_bp = yy_cp;
1312 
1313  yy_current_state = (yy_start);
1314  yy_current_state += YY_AT_BOL();
1315 yy_match:
1316  do
1317  {
1318  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1319  if ( yy_accept[yy_current_state] )
1320  {
1321  (yy_last_accepting_state) = yy_current_state;
1323  }
1324  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1325  {
1326  yy_current_state = (int) yy_def[yy_current_state];
1327  if ( yy_current_state >= 390 )
1328  yy_c = yy_meta[yy_c];
1329  }
1330  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1331  ++yy_cp;
1332  }
1333  while ( yy_base[yy_current_state] != 716 );
1334 
1335 yy_find_action:
1336  yy_act = yy_accept[yy_current_state];
1337  if ( yy_act == 0 )
1338  { /* have to back up */
1340  yy_current_state = (yy_last_accepting_state);
1341  yy_act = yy_accept[yy_current_state];
1342  }
1343 
1345 
1346 do_action: /* This label is used only to access EOF actions. */
1347 
1348  switch ( yy_act )
1349  { /* beginning of action switch */
1350  case 0: /* must back up */
1351  /* undo the effects of YY_DO_BEFORE_ACTION */
1352  *yy_cp = (yy_hold_char);
1354  yy_current_state = (yy_last_accepting_state);
1355  goto yy_find_action;
1356 
1357 case 1:
1359 #line 82 "reader.l"
1360 strncpy(RP->wallstyle, rmap_yval(), RM_SIZE);
1361  YY_BREAK
1362 case 2:
1364 #line 83 "reader.l"
1365 strncpy(RP->floorstyle, rmap_yval(), RM_SIZE);
1366  YY_BREAK
1367 case 3:
1369 #line 84 "reader.l"
1370 strncpy(RP->monsterstyle, rmap_yval(), RM_SIZE);
1371  YY_BREAK
1372 case 4:
1374 #line 85 "reader.l"
1375 strncpy(RP->treasurestyle, rmap_yval(), RM_SIZE);
1376  YY_BREAK
1377 case 5:
1379 #line 86 "reader.l"
1380 strncpy(RP->layoutstyle, rmap_yval(), RM_SIZE);
1381  YY_BREAK
1382 case 6:
1384 #line 87 "reader.l"
1385 strncpy(RP->doorstyle, rmap_yval(), RM_SIZE);
1386  YY_BREAK
1387 case 7:
1389 #line 88 "reader.l"
1390 strncpy(RP->decorstyle, rmap_yval(), RM_SIZE);
1391  YY_BREAK
1392 case 8:
1394 #line 89 "reader.l"
1395 strncpy(RP->cheststyle, rmap_yval(), RM_SIZE);
1396  YY_BREAK
1397 case 9:
1399 #line 90 "reader.l"
1400 RP->Xsize = IVAL;
1401  YY_BREAK
1402 case 10:
1404 #line 91 "reader.l"
1405 RP->Ysize = IVAL;
1406  YY_BREAK
1407 case 11:
1409 #line 92 "reader.l"
1410 RP->expand2x = IVAL;
1411  YY_BREAK
1412 case 12:
1414 #line 93 "reader.l"
1415 RP->layoutoptions1 = IVAL;
1416  YY_BREAK
1417 case 13:
1419 #line 94 "reader.l"
1420 RP->layoutoptions2 = IVAL;
1421  YY_BREAK
1422 case 14:
1424 #line 95 "reader.l"
1425 RP->symmetry = IVAL;
1426  YY_BREAK
1427 case 15:
1429 #line 96 "reader.l"
1430 RP->difficulty = IVAL;
1431  YY_BREAK
1432 case 16:
1434 #line 97 "reader.l"
1435 RP->difficulty_increase = FVAL;
1436  YY_BREAK
1437 case 17:
1439 #line 98 "reader.l"
1440 RP->decoroptions = IVAL;
1441  YY_BREAK
1442 case 18:
1444 #line 99 "reader.l"
1445 strncpy(RP->exitstyle, rmap_yval(), RM_SIZE);
1446  YY_BREAK
1447 case 19:
1449 #line 100 "reader.l"
1450 RP->dungeon_level = IVAL;
1451  YY_BREAK
1452 case 20:
1454 #line 101 "reader.l"
1455 strncpy(RP->dungeon_name, rmap_yval(), RM_SIZE);
1456  YY_BREAK
1457 case 21:
1459 #line 102 "reader.l"
1460 RP->dungeon_depth = IVAL;
1461  YY_BREAK
1462 case 22:
1464 #line 103 "reader.l"
1465 strncpy(RP->final_map, rmap_yval(), RM_SIZE);
1466  YY_BREAK
1467 case 23:
1469 #line 104 "reader.l"
1470 strncpy(RP->final_exit_archetype, rmap_yval(), RM_SIZE);
1471  YY_BREAK
1472 case 24:
1474 #line 105 "reader.l"
1475 RP-> orientation = IVAL;
1476  YY_BREAK
1477 case 25:
1479 #line 106 "reader.l"
1480 RP->origin_x = IVAL;
1481  YY_BREAK
1482 case 26:
1484 #line 107 "reader.l"
1485 RP-> origin_y = IVAL;
1486  YY_BREAK
1487 case 27:
1489 #line 108 "reader.l"
1490 strncpy(RP->origin_map, rmap_yval(), RM_SIZE);
1491  YY_BREAK
1492 case 28:
1494 #line 109 "reader.l"
1495 RP->random_seed = IVAL;
1496  YY_BREAK
1497 case 29:
1499 #line 110 "reader.l"
1500 RP->treasureoptions = IVAL;
1501  YY_BREAK
1502 case 30:
1504 #line 111 "reader.l"
1505 strncpy(RP->exit_on_final_map, rmap_yval(), RM_SIZE);
1506  YY_BREAK
1507 case 31:
1509 #line 112 "reader.l"
1510 RP->multiple_floors = IVAL;
1511  YY_BREAK
1512 case 32:
1514 #line 113 "reader.l"
1515 RP->darkness = IVAL;
1516  YY_BREAK
1517 case 33:
1519 #line 114 "reader.l"
1520 RP->outdoor = IVAL;
1521  YY_BREAK
1522 case 34:
1523 /* rule 34 can match eol */
1525 #line 116 "reader.l"
1526 {/* ignore empty lines, newlines we don't do above */}
1527  YY_BREAK
1528 case 35:
1529 /* rule 35 can match eol */
1531 #line 117 "reader.l"
1532 { }
1533  YY_BREAK
1534 case YY_STATE_EOF(INITIAL):
1535 case YY_STATE_EOF(MESSAGE):
1536 #line 119 "reader.l"
1537 {/* If we got an error, return the error. Otherwise, return that we got EOF */
1538  if (rmap_lex_error != 0)
1539  return rmap_lex_error;
1540  else
1541  return LL_EOF;
1542  }
1543  YY_BREAK
1544 case 36:
1546 #line 125 "reader.l"
1547 {
1548  yyerror("Unrecognized string");
1549  rmap_lex_error= -1;
1550  }
1551  YY_BREAK
1552 case 37:
1554 #line 129 "reader.l"
1555 ECHO;
1556  YY_BREAK
1557 #line 1558 "reader.c"
1558 
1559  case YY_END_OF_BUFFER:
1560  {
1561  /* Amount of text matched not including the EOB char. */
1562  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1563 
1564  /* Undo the effects of YY_DO_BEFORE_ACTION. */
1565  *yy_cp = (yy_hold_char);
1567 
1568  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1569  {
1570  /* We're scanning a new file or input source. It's
1571  * possible that this happened because the user
1572  * just pointed yyin at a new source and called
1573  * yylex(). If so, then we have to assure
1574  * consistency between YY_CURRENT_BUFFER and our
1575  * globals. Here is the right place to do so, because
1576  * this is the first action (other than possibly a
1577  * back-up) that will match for the new input source.
1578  */
1579  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1580  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1581  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1582  }
1583 
1584  /* Note that here we test for yy_c_buf_p "<=" to the position
1585  * of the first EOB in the buffer, since yy_c_buf_p will
1586  * already have been incremented past the NUL character
1587  * (since all states make transitions on EOB to the
1588  * end-of-buffer state). Contrast this with the test
1589  * in input().
1590  */
1591  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1592  { /* This was really a NUL. */
1593  yy_state_type yy_next_state;
1594 
1595  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1596 
1597  yy_current_state = yy_get_previous_state( );
1598 
1599  /* Okay, we're now positioned to make the NUL
1600  * transition. We couldn't have
1601  * yy_get_previous_state() go ahead and do it
1602  * for us because it doesn't know how to deal
1603  * with the possibility of jamming (and we don't
1604  * want to build jamming into it because then it
1605  * will run more slowly).
1606  */
1607 
1608  yy_next_state = yy_try_NUL_trans( yy_current_state );
1609 
1611 
1612  if ( yy_next_state )
1613  {
1614  /* Consume the NUL. */
1615  yy_cp = ++(yy_c_buf_p);
1616  yy_current_state = yy_next_state;
1617  goto yy_match;
1618  }
1619 
1620  else
1621  {
1622  yy_cp = (yy_c_buf_p);
1623  goto yy_find_action;
1624  }
1625  }
1626 
1627  else switch ( yy_get_next_buffer( ) )
1628  {
1629  case EOB_ACT_END_OF_FILE:
1630  {
1632 
1633  if ( yywrap( ) )
1634  {
1635  /* Note: because we've taken care in
1636  * yy_get_next_buffer() to have set up
1637  * yytext, we can now set up
1638  * yy_c_buf_p so that if some total
1639  * hoser (like flex itself) wants to
1640  * call the scanner after we return the
1641  * YY_NULL, it'll still work - another
1642  * YY_NULL will get returned.
1643  */
1645 
1647  goto do_action;
1648  }
1649 
1650  else
1651  {
1652  if ( ! (yy_did_buffer_switch_on_eof) )
1653  YY_NEW_FILE;
1654  }
1655  break;
1656  }
1657 
1658  case EOB_ACT_CONTINUE_SCAN:
1659  (yy_c_buf_p) =
1660  (yytext_ptr) + yy_amount_of_matched_text;
1661 
1662  yy_current_state = yy_get_previous_state( );
1663 
1664  yy_cp = (yy_c_buf_p);
1666  goto yy_match;
1667 
1668  case EOB_ACT_LAST_MATCH:
1669  (yy_c_buf_p) =
1670  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1671 
1672  yy_current_state = yy_get_previous_state( );
1673 
1674  yy_cp = (yy_c_buf_p);
1676  goto yy_find_action;
1677  }
1678  break;
1679  }
1680 
1681  default:
1683  "fatal flex scanner internal error--no action found" );
1684  } /* end of action switch */
1685  } /* end of scanning one token */
1686  } /* end of user's declarations */
1687 } /* end of yylex */
1688 
1689 /* yy_get_next_buffer - try to read in a new buffer
1690  *
1691  * Returns a code representing an action:
1692  * EOB_ACT_LAST_MATCH -
1693  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1694  * EOB_ACT_END_OF_FILE - end of file
1695  */
1696 static int yy_get_next_buffer (void)
1697 {
1698  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1699  char *source = (yytext_ptr);
1700  int number_to_move, i;
1701  int ret_val;
1702 
1703  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1705  "fatal flex scanner internal error--end of buffer missed" );
1706 
1707  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1708  { /* Don't try to fill the buffer, so this is an EOF. */
1709  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1710  {
1711  /* We matched a single character, the EOB, so
1712  * treat this as a final EOF.
1713  */
1714  return EOB_ACT_END_OF_FILE;
1715  }
1716 
1717  else
1718  {
1719  /* We matched some text prior to the EOB, first
1720  * process it.
1721  */
1722  return EOB_ACT_LAST_MATCH;
1723  }
1724  }
1725 
1726  /* Try to read more data. */
1727 
1728  /* First move last chars to start of buffer. */
1729  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
1730 
1731  for ( i = 0; i < number_to_move; ++i )
1732  *(dest++) = *(source++);
1733 
1734  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1735  /* don't do the read, it's not guaranteed to return an EOF,
1736  * just force an EOF
1737  */
1738  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1739 
1740  else
1741  {
1742  int num_to_read =
1743  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1744 
1745  while ( num_to_read <= 0 )
1746  { /* Not enough room in the buffer - grow it. */
1747 
1748  /* just a shorter name for the current buffer */
1750 
1751  int yy_c_buf_p_offset =
1752  (int) ((yy_c_buf_p) - b->yy_ch_buf);
1753 
1754  if ( b->yy_is_our_buffer )
1755  {
1756  int new_size = b->yy_buf_size * 2;
1757 
1758  if ( new_size <= 0 )
1759  b->yy_buf_size += b->yy_buf_size / 8;
1760  else
1761  b->yy_buf_size *= 2;
1762 
1763  b->yy_ch_buf = (char *)
1764  /* Include room in for 2 EOB chars. */
1765  yyrealloc( (void *) b->yy_ch_buf,
1766  (yy_size_t) (b->yy_buf_size + 2) );
1767  }
1768  else
1769  /* Can't grow it, we don't own it. */
1770  b->yy_ch_buf = NULL;
1771 
1772  if ( ! b->yy_ch_buf )
1774  "fatal error - scanner input buffer overflow" );
1775 
1776  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1777 
1778  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1779  number_to_move - 1;
1780 
1781  }
1782 
1783  if ( num_to_read > YY_READ_BUF_SIZE )
1784  num_to_read = YY_READ_BUF_SIZE;
1785 
1786  /* Read in more data. */
1787  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1788  (yy_n_chars), num_to_read );
1789 
1790  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1791  }
1792 
1793  if ( (yy_n_chars) == 0 )
1794  {
1795  if ( number_to_move == YY_MORE_ADJ )
1796  {
1797  ret_val = EOB_ACT_END_OF_FILE;
1798  yyrestart( yyin );
1799  }
1800 
1801  else
1802  {
1803  ret_val = EOB_ACT_LAST_MATCH;
1804  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1806  }
1807  }
1808 
1809  else
1810  ret_val = EOB_ACT_CONTINUE_SCAN;
1811 
1812  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1813  /* Extend the array by 50%, plus the number we really need. */
1814  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1815  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
1816  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
1817  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1818  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1819  /* "- 2" to take care of EOB's */
1820  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
1821  }
1822 
1823  (yy_n_chars) += number_to_move;
1826 
1827  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1828 
1829  return ret_val;
1830 }
1831 
1832 /* yy_get_previous_state - get the state just before the EOB char was reached */
1833 
1835 {
1836  yy_state_type yy_current_state;
1837  char *yy_cp;
1838 
1839  yy_current_state = (yy_start);
1840  yy_current_state += YY_AT_BOL();
1841 
1842  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1843  {
1844  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1845  if ( yy_accept[yy_current_state] )
1846  {
1847  (yy_last_accepting_state) = yy_current_state;
1849  }
1850  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1851  {
1852  yy_current_state = (int) yy_def[yy_current_state];
1853  if ( yy_current_state >= 390 )
1854  yy_c = yy_meta[yy_c];
1855  }
1856  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1857  }
1858 
1859  return yy_current_state;
1860 }
1861 
1862 /* yy_try_NUL_trans - try to make a transition on the NUL character
1863  *
1864  * synopsis
1865  * next_state = yy_try_NUL_trans( current_state );
1866  */
1867  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
1868 {
1869  int yy_is_jam;
1870  char *yy_cp = (yy_c_buf_p);
1871 
1872  YY_CHAR yy_c = 1;
1873  if ( yy_accept[yy_current_state] )
1874  {
1875  (yy_last_accepting_state) = yy_current_state;
1877  }
1878  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1879  {
1880  yy_current_state = (int) yy_def[yy_current_state];
1881  if ( yy_current_state >= 390 )
1882  yy_c = yy_meta[yy_c];
1883  }
1884  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1885  yy_is_jam = (yy_current_state == 389);
1886 
1887  return yy_is_jam ? 0 : yy_current_state;
1888 }
1889 
1890 #ifndef YY_NO_UNPUT
1891 
1892 #endif
1893 
1894 #ifndef YY_NO_INPUT
1895 #ifdef __cplusplus
1896  static int yyinput (void)
1897 #else
1898  static int input (void)
1899 #endif
1900 
1901 {
1902  int c;
1903 
1904  *(yy_c_buf_p) = (yy_hold_char);
1905 
1906  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1907  {
1908  /* yy_c_buf_p now points to the character we want to return.
1909  * If this occurs *before* the EOB characters, then it's a
1910  * valid NUL; if not, then we've hit the end of the buffer.
1911  */
1912  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1913  /* This was really a NUL. */
1914  *(yy_c_buf_p) = '\0';
1915 
1916  else
1917  { /* need more input */
1918  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
1919  ++(yy_c_buf_p);
1920 
1921  switch ( yy_get_next_buffer( ) )
1922  {
1923  case EOB_ACT_LAST_MATCH:
1924  /* This happens because yy_g_n_b()
1925  * sees that we've accumulated a
1926  * token and flags that we need to
1927  * try matching the token before
1928  * proceeding. But for input(),
1929  * there's no matching to consider.
1930  * So convert the EOB_ACT_LAST_MATCH
1931  * to EOB_ACT_END_OF_FILE.
1932  */
1933 
1934  /* Reset buffer status. */
1935  yyrestart( yyin );
1936 
1937  /*FALLTHROUGH*/
1938 
1939  case EOB_ACT_END_OF_FILE:
1940  {
1941  if ( yywrap( ) )
1942  return 0;
1943 
1944  if ( ! (yy_did_buffer_switch_on_eof) )
1945  YY_NEW_FILE;
1946 #ifdef __cplusplus
1947  return yyinput();
1948 #else
1949  return input();
1950 #endif
1951  }
1952 
1953  case EOB_ACT_CONTINUE_SCAN:
1954  (yy_c_buf_p) = (yytext_ptr) + offset;
1955  break;
1956  }
1957  }
1958  }
1959 
1960  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
1961  *(yy_c_buf_p) = '\0'; /* preserve yytext */
1962  (yy_hold_char) = *++(yy_c_buf_p);
1963 
1964  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
1965 
1966  return c;
1967 }
1968 #endif /* ifndef YY_NO_INPUT */
1969 
1975  void yyrestart (FILE * input_file )
1976 {
1977 
1978  if ( ! YY_CURRENT_BUFFER ){
1982  }
1983 
1984  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
1986 }
1987 
1993 {
1994 
1995  /* TODO. We should be able to replace this entire function body
1996  * with
1997  * yypop_buffer_state();
1998  * yypush_buffer_state(new_buffer);
1999  */
2001  if ( YY_CURRENT_BUFFER == new_buffer )
2002  return;
2003 
2004  if ( YY_CURRENT_BUFFER )
2005  {
2006  /* Flush out information for old buffer. */
2007  *(yy_c_buf_p) = (yy_hold_char);
2008  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2009  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2010  }
2011 
2012  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2014 
2015  /* We don't actually know whether we did this switch during
2016  * EOF (yywrap()) processing, but the only time this flag
2017  * is looked at is after yywrap() is called, so it's safe
2018  * to go ahead and always set it.
2019  */
2021 }
2022 
2023 static void yy_load_buffer_state (void)
2024 {
2025  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2026  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2027  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2028  (yy_hold_char) = *(yy_c_buf_p);
2029 }
2030 
2038 {
2040 
2041  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2042  if ( ! b )
2043  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2044 
2045  b->yy_buf_size = size;
2046 
2047  /* yy_ch_buf has to be 2 characters longer than the size given because
2048  * we need to put in 2 end-of-buffer characters.
2049  */
2050  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
2051  if ( ! b->yy_ch_buf )
2052  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2053 
2054  b->yy_is_our_buffer = 1;
2055 
2056  yy_init_buffer( b, file );
2057 
2058  return b;
2059 }
2060 
2066 {
2067 
2068  if ( ! b )
2069  return;
2070 
2071  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2073 
2074  if ( b->yy_is_our_buffer )
2075  yyfree( (void *) b->yy_ch_buf );
2076 
2077  yyfree( (void *) b );
2078 }
2079 
2080 /* Initializes or reinitializes a buffer.
2081  * This function is sometimes called more than once on the same buffer,
2082  * such as during a yyrestart() or at EOF.
2083  */
2084  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2085 
2086 {
2087  int oerrno = errno;
2088 
2089  yy_flush_buffer( b );
2090 
2091  b->yy_input_file = file;
2092  b->yy_fill_buffer = 1;
2093 
2094  /* If b is the current buffer, then yy_init_buffer was _probably_
2095  * called from yyrestart() or through yy_get_next_buffer.
2096  * In that case, we don't want to reset the lineno or column.
2097  */
2098  if (b != YY_CURRENT_BUFFER){
2099  b->yy_bs_lineno = 1;
2100  b->yy_bs_column = 0;
2101  }
2102 
2103  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2104 
2105  errno = oerrno;
2106 }
2107 
2113 {
2114  if ( ! b )
2115  return;
2116 
2117  b->yy_n_chars = 0;
2118 
2119  /* We always need two end-of-buffer characters. The first causes
2120  * a transition to the end-of-buffer state. The second causes
2121  * a jam in that state.
2122  */
2123  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2124  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2125 
2126  b->yy_buf_pos = &b->yy_ch_buf[0];
2127 
2128  b->yy_at_bol = 1;
2129  b->yy_buffer_status = YY_BUFFER_NEW;
2130 
2131  if ( b == YY_CURRENT_BUFFER )
2133 }
2134 
2142 {
2143  if (new_buffer == NULL)
2144  return;
2145 
2147 
2148  /* This block is copied from yy_switch_to_buffer. */
2149  if ( YY_CURRENT_BUFFER )
2150  {
2151  /* Flush out information for old buffer. */
2152  *(yy_c_buf_p) = (yy_hold_char);
2153  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2154  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2155  }
2156 
2157  /* Only push if top exists. Otherwise, replace top. */
2158  if (YY_CURRENT_BUFFER)
2159  (yy_buffer_stack_top)++;
2160  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2161 
2162  /* copied from yy_switch_to_buffer. */
2165 }
2166 
2171 void yypop_buffer_state (void)
2172 {
2173  if (!YY_CURRENT_BUFFER)
2174  return;
2175 
2177  YY_CURRENT_BUFFER_LVALUE = NULL;
2178  if ((yy_buffer_stack_top) > 0)
2179  --(yy_buffer_stack_top);
2180 
2181  if (YY_CURRENT_BUFFER) {
2184  }
2185 }
2186 
2187 /* Allocates the stack if it does not exist.
2188  * Guarantees space for at least one push.
2189  */
2190 static void yyensure_buffer_stack (void)
2191 {
2192  yy_size_t num_to_alloc;
2193 
2194  if (!(yy_buffer_stack)) {
2195 
2196  /* First allocation is just for 2 elements, since we don't know if this
2197  * scanner will even need a stack. We use 2 instead of 1 to avoid an
2198  * immediate realloc on the next call.
2199  */
2200  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2202  (num_to_alloc * sizeof(struct yy_buffer_state*)
2203  );
2204  if ( ! (yy_buffer_stack) )
2205  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2206 
2207  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2208 
2209  (yy_buffer_stack_max) = num_to_alloc;
2210  (yy_buffer_stack_top) = 0;
2211  return;
2212  }
2213 
2214  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2215 
2216  /* Increase the buffer to prepare for a possible push. */
2217  yy_size_t grow_size = 8 /* arbitrary grow size */;
2218 
2219  num_to_alloc = (yy_buffer_stack_max) + grow_size;
2221  ((yy_buffer_stack),
2222  num_to_alloc * sizeof(struct yy_buffer_state*)
2223  );
2224  if ( ! (yy_buffer_stack) )
2225  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2226 
2227  /* zero only the new slots.*/
2228  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2229  (yy_buffer_stack_max) = num_to_alloc;
2230  }
2231 }
2232 
2240 {
2242 
2243  if ( size < 2 ||
2244  base[size-2] != YY_END_OF_BUFFER_CHAR ||
2245  base[size-1] != YY_END_OF_BUFFER_CHAR )
2246  /* They forgot to leave room for the EOB's. */
2247  return NULL;
2248 
2249  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2250  if ( ! b )
2251  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2252 
2253  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
2254  b->yy_buf_pos = b->yy_ch_buf = base;
2255  b->yy_is_our_buffer = 0;
2256  b->yy_input_file = NULL;
2257  b->yy_n_chars = b->yy_buf_size;
2258  b->yy_is_interactive = 0;
2259  b->yy_at_bol = 1;
2260  b->yy_fill_buffer = 0;
2261  b->yy_buffer_status = YY_BUFFER_NEW;
2262 
2264 
2265  return b;
2266 }
2267 
2276 YY_BUFFER_STATE yy_scan_string (const char * yystr )
2277 {
2278 
2279  return yy_scan_bytes( yystr, (int) strlen(yystr) );
2280 }
2281 
2289 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
2290 {
2292  char *buf;
2293  yy_size_t n;
2294  int i;
2295 
2296  /* Get memory for full buffer, including space for trailing EOB's. */
2297  n = (yy_size_t) (_yybytes_len + 2);
2298  buf = (char *) yyalloc( n );
2299  if ( ! buf )
2300  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2301 
2302  for ( i = 0; i < _yybytes_len; ++i )
2303  buf[i] = yybytes[i];
2304 
2305  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2306 
2307  b = yy_scan_buffer( buf, n );
2308  if ( ! b )
2309  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2310 
2311  /* It's okay to grow etc. this buffer, and we should throw it
2312  * away when we're done.
2313  */
2314  b->yy_is_our_buffer = 1;
2315 
2316  return b;
2317 }
2318 
2319 #ifndef YY_EXIT_FAILURE
2320 #define YY_EXIT_FAILURE 2
2321 #endif
2322 
2323 static void yynoreturn yy_fatal_error (const char* msg )
2324 {
2325  fprintf( stderr, "%s\n", msg );
2326  exit( YY_EXIT_FAILURE );
2327 }
2328 
2329 /* Redefine yyless() so it works in section 3 code. */
2330 
2331 #undef yyless
2332 #define yyless(n) \
2333  do \
2334  { \
2335  /* Undo effects of setting up yytext. */ \
2336  int yyless_macro_arg = (n); \
2337  YY_LESS_LINENO(yyless_macro_arg);\
2338  yytext[yyleng] = (yy_hold_char); \
2339  (yy_c_buf_p) = yytext + yyless_macro_arg; \
2340  (yy_hold_char) = *(yy_c_buf_p); \
2341  *(yy_c_buf_p) = '\0'; \
2342  yyleng = yyless_macro_arg; \
2343  } \
2344  while ( 0 )
2345 
2346 /* Accessor methods (get/set functions) to struct members. */
2347 
2351 int yyget_lineno (void)
2352 {
2353 
2354  return yylineno;
2355 }
2356 
2360 FILE *yyget_in (void)
2361 {
2362  return yyin;
2363 }
2364 
2368 FILE *yyget_out (void)
2369 {
2370  return yyout;
2371 }
2372 
2376 int yyget_leng (void)
2377 {
2378  return yyleng;
2379 }
2380 
2385 char *yyget_text (void)
2386 {
2387  return yytext;
2388 }
2389 
2394 void yyset_lineno (int _line_number )
2395 {
2396 
2397  yylineno = _line_number;
2398 }
2399 
2406 void yyset_in (FILE * _in_str )
2407 {
2408  yyin = _in_str ;
2409 }
2410 
2411 void yyset_out (FILE * _out_str )
2412 {
2413  yyout = _out_str ;
2414 }
2415 
2416 int yyget_debug (void)
2417 {
2418  return yy_flex_debug;
2419 }
2420 
2421 void yyset_debug (int _bdebug )
2422 {
2423  yy_flex_debug = _bdebug ;
2424 }
2425 
2426 static int yy_init_globals (void)
2427 {
2428  /* Initialization is the same as for the non-reentrant scanner.
2429  * This function is called from yylex_destroy(), so don't allocate here.
2430  */
2431 
2432  (yy_buffer_stack) = NULL;
2433  (yy_buffer_stack_top) = 0;
2434  (yy_buffer_stack_max) = 0;
2435  (yy_c_buf_p) = NULL;
2436  (yy_init) = 0;
2437  (yy_start) = 0;
2438 
2439 /* Defined in main.c */
2440 #ifdef YY_STDINIT
2441  yyin = stdin;
2442  yyout = stdout;
2443 #else
2444  yyin = NULL;
2445  yyout = NULL;
2446 #endif
2447 
2448  /* For future reference: Set errno on error, since we are called by
2449  * yylex_init()
2450  */
2451  return 0;
2452 }
2453 
2454 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
2455 int yylex_destroy (void)
2456 {
2457 
2458  /* Pop the buffer stack, destroying each element. */
2459  while(YY_CURRENT_BUFFER){
2461  YY_CURRENT_BUFFER_LVALUE = NULL;
2463  }
2464 
2465  /* Destroy the stack itself. */
2466  yyfree((yy_buffer_stack) );
2467  (yy_buffer_stack) = NULL;
2468 
2469  /* Reset the globals. This is important in a non-reentrant scanner so the next time
2470  * yylex() is called, initialization will occur. */
2471  yy_init_globals( );
2472 
2473  return 0;
2474 }
2475 
2476 /*
2477  * Internal utility routines.
2478  */
2479 
2480 #ifndef yytext_ptr
2481 static void yy_flex_strncpy (char* s1, const char * s2, int n )
2482 {
2483 
2484  int i;
2485  for ( i = 0; i < n; ++i )
2486  s1[i] = s2[i];
2487 }
2488 #endif
2489 
2490 #ifdef YY_NEED_STRLEN
2491 static int yy_flex_strlen (const char * s )
2492 {
2493  int n;
2494  for ( n = 0; s[n]; ++n )
2495  ;
2496 
2497  return n;
2498 }
2499 #endif
2500 
2501 void *yyalloc (yy_size_t size )
2502 {
2503  return malloc(size);
2504 }
2505 
2506 void *yyrealloc (void * ptr, yy_size_t size )
2507 {
2508 
2509  /* The cast to (char *) in the following accommodates both
2510  * implementations that use char* generic pointers, and those
2511  * that use void* generic pointers. It works with the latter
2512  * because both ANSI C and C++ allow castless assignment from
2513  * any pointer type to void*, and deal with argument conversions
2514  * as though doing an assignment.
2515  */
2516  return realloc(ptr, size);
2517 }
2518 
2519 void yyfree (void * ptr )
2520 {
2521  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
2522 }
2523 
2524 #define YYTABLES_NAME "yytables"
2525 
2526 #line 129 "reader.l"
2527 
2528 
2529 /* Our save file syntax is very simple, so we can use a very simple
2530  * processing mechanism here instead using something like bison
2531  * This skips over the space and returns the value, or "" if no value
2532  * is found.
2533  */
2534 static char *rmap_yval(void) {
2535  static char em[] = "";
2536  char *cp;
2537 
2538  cp = strchr(yytext, ' ');
2539  if (cp)
2540  return cp+1;
2541  else
2542  return em;
2543 }
2544 
2545 int load_parameters(FILE *fp, int bufstate, RMParms *RP) {
2546  int retval;
2547  char inbuf[MAX_BUF];
2548 
2549  if (bufstate == LO_NEWFILE || bufstate == LO_NOREAD) {
2552  if (bufstate == LO_NOREAD)
2553  return LL_NORMAL;
2554  }
2555  if (bufstate == LO_LINEMODE) {
2556  YY_BUFFER_STATE yybufstate;
2557  while (fgets(inbuf, MAX_BUF-3, fp)) {
2558  yybufstate = yy_scan_string(inbuf);
2559  retval = rmap_lex_read(RP);
2560  yy_delete_buffer(yybufstate);
2561  if (retval == LL_NORMAL)
2562  return retval;
2563  }
2564  return LL_EOF;
2565  }
2566 
2567  retval = rmap_lex_read(RP);
2568 /* LOG(llevDebug, " load completed, object=%s\n", op->name);*/
2569  return retval;
2570 }
2571 
2572 
2573 /* This takes a buffer, scans it for variables, and sets those variables
2574  * as appropriate in op.
2575  *
2576  * This function appears to be used in only 2 places - in crossedit to
2577  * override values and in c_wiz to mutate values.
2578  */
2579 int set_random_map_variable(RMParms *rp, const char *buf) {
2580  YY_BUFFER_STATE yybufstate;
2581  int retval;
2582 
2583  yybufstate = yy_scan_string(buf);
2584  retval = rmap_lex_read(rp);
2585  yy_delete_buffer(yybufstate);
2586  return retval;
2587 }
2588 
flex_int32_t
int flex_int32_t
Definition: loader.c:52
yy_ec
static const YY_CHAR yy_ec[256]
Definition: reader.c:671
global.h
YY_INPUT
#define YY_INPUT(buf, result, max_size)
Definition: reader.c:1172
YY_STATE_EOF
#define YY_STATE_EOF(state)
Definition: reader.c:384
random_map.h
yynoreturn
#define yynoreturn
Definition: reader.c:361
llevError
@ llevError
Definition: logger.h:11
LOG
void LOG(LogLevel logLevel, const char *format,...)
Definition: logger.cpp:51
yy_trans_info
Definition: loader.c:361
YY_END_OF_BUFFER
#define YY_END_OF_BUFFER
Definition: reader.c:617
yyrealloc
#define yyrealloc
Definition: reader.c:30
yy_buffer_state::yy_input_file
FILE * yy_input_file
Definition: loader.c:187
YY_EXIT_FAILURE
#define YY_EXIT_FAILURE
Definition: reader.c:2320
yy_scan_buffer
#define yy_scan_buffer
Definition: reader.c:10
c
static event_registration c
Definition: citylife.cpp:425
yy_buffer_stack
static YY_BUFFER_STATE * yy_buffer_stack
Definition: reader.c:510
yy_last_accepting_cpos
static char * yy_last_accepting_cpos
Definition: reader.c:994
YY_CHAR
flex_uint8_t YY_CHAR
Definition: loader.c:328
YY_RULE_SETUP
#define YY_RULE_SETUP
Definition: reader.c:1247
yy_size_t
size_t yy_size_t
Definition: loader.c:154
yy_buffer_state
Definition: loader.c:185
RM_SIZE
#define RM_SIZE
Definition: random_map.h:9
yy_start
static int yy_start
Definition: reader.c:534
YY_END_OF_BUFFER_CHAR
#define YY_END_OF_BUFFER_CHAR
Definition: reader.c:387
mad_mage_user.file
file
Definition: mad_mage_user.py:15
yyerror
static int yyerror(const char *s)
Definition: reader.c:1058
YY_RESTORE_YY_MORE_OFFSET
#define YY_RESTORE_YY_MORE_OFFSET
Definition: reader.c:1005
YY_SC_TO_UI
#define YY_SC_TO_UI(c)
Definition: reader.c:370
yy_buffer_stack_max
static size_t yy_buffer_stack_max
Definition: reader.c:509
LO_NEWFILE
#define LO_NEWFILE
Definition: loader.h:17
YY_AT_BOL
#define YY_AT_BOL()
Definition: reader.c:581
yy_state_type
int yy_state_type
Definition: loader.c:332
yy_buffer_state::yy_at_bol
int yy_at_bol
Definition: loader.c:219
yy_n_chars
static int yy_n_chars
Definition: reader.c:528
yy_fatal_error
static void yynoreturn yy_fatal_error(const char *msg)
Definition: reader.c:2323
yy_nxt
static const flex_int16_t yy_nxt[772]
Definition: reader.c:815
YY_BUF_SIZE
#define YY_BUF_SIZE
Definition: reader.c:398
buf
StringBuffer * buf
Definition: readable.cpp:1552
YY_CHAR
flex_uint8_t YY_CHAR
Definition: reader.c:587
RMParms
Definition: random_map.h:14
yylex_destroy
#define yylex_destroy
Definition: reader.c:140
yy_buffer_state::yy_is_our_buffer
int yy_is_our_buffer
Definition: loader.c:206
YY_BREAK
#define YY_BREAK
Definition: reader.c:1244
flex_uint16_t
unsigned short int flex_uint16_t
Definition: reader.c:313
LO_NOREAD
#define LO_NOREAD
Definition: loader.h:18
yyleng
#define yyleng
Definition: reader.c:22
flex_uint32_t
unsigned int flex_uint32_t
Definition: reader.c:314
yytext
#define yytext
Definition: reader.c:27
yyin
#define yyin
Definition: reader.c:21
YY_NEW_FILE
#define YY_NEW_FILE
Definition: reader.c:386
yy_base
static const flex_int16_t yy_base[427]
Definition: reader.c:713
yy_accept
static const flex_int16_t yy_accept[390]
Definition: reader.c:625
FVAL
#define FVAL
Definition: reader.c:1050
flex_int16_t
short int flex_int16_t
Definition: loader.c:51
yytext_ptr
#define yytext_ptr
Definition: reader.c:600
yylex
#define yylex
Definition: reader.c:23
yy_buffer_state::yy_fill_buffer
int yy_fill_buffer
Definition: loader.c:227
yyset_extra
#define yyset_extra
Definition: reader.c:164
yypush_buffer_state
#define yypush_buffer_state
Definition: reader.c:17
navar-midane_pickup.msg
list msg
Definition: navar-midane_pickup.py:13
YY_CURRENT_BUFFER
#define YY_CURRENT_BUFFER
Definition: reader.c:518
yy_switch_to_buffer
#define yy_switch_to_buffer
Definition: reader.c:16
yywrap
#define yywrap
Definition: reader.c:28
Ice.b
b
Definition: Ice.py:48
yy_buffer_state::yy_buf_size
int yy_buf_size
Definition: loader.c:195
flex_int8_t
signed char flex_int8_t
Definition: reader.c:309
yy_buffer_state::yy_ch_buf
char * yy_ch_buf
Definition: loader.c:189
YY_BUFFER_STATE
struct yy_buffer_state * YY_BUFFER_STATE
Definition: reader.c:408
yy_size_t
size_t yy_size_t
Definition: reader.c:413
yyget_out
#define yyget_out
Definition: reader.c:182
YY_START
#define YY_START
Definition: reader.c:381
yy_buffer_stack_top
static size_t yy_buffer_stack_top
Definition: reader.c:508
flex_uint8_t
unsigned char flex_uint8_t
Definition: loader.c:53
YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER_LVALUE
Definition: reader.c:524
YY_EXTRA_TYPE
#define YY_EXTRA_TYPE
Definition: reader.c:1083
YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE
Definition: reader.c:1156
yy_create_buffer
#define yy_create_buffer
Definition: reader.c:8
yy_act
int yy_act
Definition: reader.c:1259
EOB_ACT_CONTINUE_SCAN
#define EOB_ACT_CONTINUE_SCAN
Definition: reader.c:420
yy_last_accepting_state
static yy_state_type yy_last_accepting_state
Definition: reader.c:993
YY_BUFFER_NORMAL
#define YY_BUFFER_NORMAL
Definition: reader.c:491
MAX_BUF
#define MAX_BUF
Definition: define.h:35
yy_flex_debug
#define yy_flex_debug
Definition: reader.c:20
yy_get_next_buffer
static int yy_get_next_buffer(void)
Definition: reader.c:1696
rmap_lex_read
static int rmap_lex_read(RMParms *RP)
YY_MORE_ADJ
#define YY_MORE_ADJ
Definition: reader.c:1004
YY_DECL
#define YY_DECL
Definition: reader.c:1042
load_parameters
int load_parameters(FILE *fp, int bufstate, RMParms *RP)
Definition: reader.c:2545
EOB_ACT_END_OF_FILE
#define EOB_ACT_END_OF_FILE
Definition: reader.c:421
flex_int16_t
short int flex_int16_t
Definition: reader.c:310
yy_init
static int yy_init
Definition: reader.c:533
yyensure_buffer_stack
#define yyensure_buffer_stack
Definition: reader.c:19
ECHO
#define ECHO
Definition: reader.c:1165
EOB_ACT_LAST_MATCH
#define EOB_ACT_LAST_MATCH
Definition: reader.c:422
yy_buffer_state::yy_buffer_status
int yy_buffer_status
Definition: loader.c:229
yy_buffer_state::yy_buf_pos
char * yy_buf_pos
Definition: loader.c:190
yyalloc
#define yyalloc
Definition: reader.c:29
yyget_lineno
#define yyget_lineno
Definition: reader.c:206
yy_delete_buffer
#define yy_delete_buffer
Definition: reader.c:9
IVAL
#define IVAL
Definition: reader.c:1049
yy_trans_info::yy_nxt
flex_int32_t yy_nxt
Definition: loader.c:364
yyout
#define yyout
Definition: reader.c:25
yyget_in
#define yyget_in
Definition: reader.c:170
yy_flush_buffer
#define yy_flush_buffer
Definition: reader.c:14
yy_scan_bytes
#define yy_scan_bytes
Definition: reader.c:12
yy_init_buffer
#define yy_init_buffer
Definition: reader.c:13
newserver.h
LO_LINEMODE
#define LO_LINEMODE
Definition: loader.h:16
yy_trans_info::yy_verify
flex_int32_t yy_verify
Definition: loader.c:363
yy_buffer_state::yy_bs_column
int yy_bs_column
Definition: loader.c:222
yypop_buffer_state
#define yypop_buffer_state
Definition: reader.c:18
yy_buffer_state::yy_n_chars
int yy_n_chars
Definition: loader.c:200
convert.dest
dest
Definition: convert.py:25
yy_buffer_state::yy_is_interactive
int yy_is_interactive
Definition: loader.c:213
set_random_map_variable
int set_random_map_variable(RMParms *rp, const char *buf)
Definition: reader.c:2579
yy_get_previous_state
static yy_state_type yy_get_previous_state(void)
Definition: reader.c:1834
yylineno
#define yylineno
Definition: reader.c:24
yy_init_globals
static int yy_init_globals(void)
Definition: reader.c:2426
YY_BUFFER_EOF_PENDING
#define YY_BUFFER_EOF_PENDING
Definition: reader.c:502
yy_try_NUL_trans
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: reader.c:1867
flex_int32_t
int flex_int32_t
Definition: reader.c:311
make_face_from_files.int
int
Definition: make_face_from_files.py:32
yyfree
#define yyfree
Definition: reader.c:31
loader.h
rmap_lex_error
static int rmap_lex_error
Definition: reader.c:1047
yy_bp
char * yy_bp
Definition: reader.c:1258
rmap_yval
static char * rmap_yval(void)
Definition: reader.c:2534
yyset_debug
#define yyset_debug
Definition: reader.c:152
yyget_extra
#define yyget_extra
Definition: reader.c:158
LL_NORMAL
#define LL_NORMAL
Definition: loader.h:12
YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg)
Definition: reader.c:1219
yy_state_type
int yy_state_type
Definition: reader.c:591
yy_meta
static const YY_CHAR yy_meta[56]
Definition: reader.c:703
yy_cp
char * yy_cp
Definition: reader.c:1258
yyget_text
#define yyget_text
Definition: reader.c:200
yyset_lineno
#define yyset_lineno
Definition: reader.c:212
yy_load_buffer_state
#define yy_load_buffer_state
Definition: reader.c:15
yy_chk
static const flex_int16_t yy_chk[772]
Definition: reader.c:904
yy_hold_char
static char yy_hold_char
Definition: reader.c:527
MESSAGE
#define MESSAGE
Definition: reader.c:1072
flex_uint8_t
unsigned char flex_uint8_t
Definition: reader.c:312
yy_did_buffer_switch_on_eof
static int yy_did_buffer_switch_on_eof
Definition: reader.c:539
yyget_debug
#define yyget_debug
Definition: reader.c:146
INITIAL
#define INITIAL
Definition: reader.c:1071
YY_BUFFER_NEW
#define YY_BUFFER_NEW
Definition: reader.c:490
yy_scan_string
#define yy_scan_string
Definition: reader.c:11
yyset_out
#define yyset_out
Definition: reader.c:188
yy_def
static const flex_int16_t yy_def[427]
Definition: reader.c:764
yyset_in
#define yyset_in
Definition: reader.c:176
yy_buffer_state::yy_bs_lineno
int yy_bs_lineno
Definition: loader.c:221
yyrestart
#define yyrestart
Definition: reader.c:26
YY_DO_BEFORE_ACTION
#define YY_DO_BEFORE_ACTION
Definition: reader.c:610
yy_c_buf_p
static char * yy_c_buf_p
Definition: reader.c:532
LL_EOF
#define LL_EOF
Definition: loader.h:10
yyget_leng
#define yyget_leng
Definition: reader.c:194