]> granicus.if.org Git - nethack/commitdiff
sys/share/???_lex.c
authorPatR <rankin@nethack.org>
Sun, 6 Dec 2015 07:02:35 +0000 (23:02 -0800)
committerPatR <rankin@nethack.org>
Sun, 6 Dec 2015 07:02:35 +0000 (23:02 -0800)
Generated with flex 2.6.0 and a new custom skeleton for that version
(which almost certainly won't work with any older or newer version of
flex, but that limitation has no effect on the usefulness of the
generated scanner code).

Function definitions are oldstyle:
  int foo(bar)
    char *bar;
  {...}
rather than ANSI, like nethack's core code.  Advance declarations use
FDECL for prototypes, so should also fit nethack, although the usage
'FDECL(, (arglist))' makes me feel a bit uneasy.  gcc doesn't mind the
omitted first argument but other compilers might not like it.

The system headers (stdlib.h and a few others) that flex has been
insisting on including are gone (with this skeleton).  It starts out
including "config.h" and that header has the responsibility for any
definitions and declarations necessary.  That shouldn't be a big deal
since config.h -> XXXconf.h -> system.h is what we're already relying
on for everything else, but it does need testing for any configuration
that uses sys/share/{dgn,lev}_{lex,yacc}.c.

I'll be checking the skeleton into the NHinternals repository after
adding some documentation, but I'm wondering whether it should really
become part of the source distribution.

sys/share/dgn_lex.c
sys/share/lev_lex.c

index 5c06fe634676d99691ddde16b2f6f3fe0e32a169..44ddfc5b31887cb7ea0e3d1d66e82a3d5f313588 100644 (file)
 
 #define  YY_INT_ALIGNED short int
 
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
+/* A lexical scanner generated by flex via 'flex -S flexhack.skl'
+ * where flexhack.skl is a nethack-specific alternate skeleton derived
+ * from flex 2.6.0's skel.c (which in turn was generated from flex.skl).
+ *
+ * Support for C++, re-entrancy, and table serialization stripped out.
+ * NetHack's usage doesn't need them and we want to reduce the size and
+ * complexity of this skeleton as well as of the generated scanner code.
+ */
+#define FLEXHACK_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 37
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 0
 
-/* First, we deal with  platform-specific or compiler-specific issues. */
+#include "config.h"
 
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
 #include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types.
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
+/* we don't care if actual types happen to have more bits than their names;
+   the tables will just take up more space, possibly slowing the parse;
+   still, allow config.h to override these via typedef+#define if desired */
+#ifndef FLEX_INT32_T
 typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t;
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
 #endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
+#ifndef FLEX_INT16_T
+typedef short int flex_int16_t;
 #endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
+#ifndef FLEX_UINT16_T
+typedef unsigned short int flex_uint16_t;
 #endif
 
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
-
-#ifdef YY_USE_CONST
 #define yyconst const
-#else
-#define yyconst
-#endif
 
 /* Returned upon end-of-file. */
 #define YY_NULL 0
@@ -116,7 +43,7 @@ typedef unsigned int flex_uint32_t;
  * we want to instead treat it as an 8-bit unsigned char, hence the
  * double cast.
  */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((unsigned int) (uchar) c)
 
 /* Enter a start condition.  This macro really ought to take a parameter,
  * but we do it the disgusting crufty way forced on us by the ()-less
@@ -141,10 +68,19 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
 #define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
 #endif
 
-/* The state buf must be large enough to hold one state per character in the main buffer.
+/* The state buf must be large enough to hold one state per character
+ * in the main buffer.
  */
 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
 
@@ -159,35 +95,32 @@ typedef size_t yy_size_t;
 #endif
 
 extern yy_size_t yyleng;
-
 extern FILE *yyin, *yyout;
 
 #define EOB_ACT_CONTINUE_SCAN 0
 #define EOB_ACT_END_OF_FILE 1
 #define EOB_ACT_LAST_MATCH 2
 
-    #define YY_LESS_LINENO(n)
+#define YY_LESS_LINENO(n)
+#define YY_LINENO_REWIND_TO(ptr)
 
 /* Return all but the first "n" matched characters back to the input stream. */
 #define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
+    do { \
+        /* Undo effects of setting up yytext. */ \
         int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-               *yy_cp = (yy_hold_char); \
-               YY_RESTORE_YY_MORE_OFFSET \
-               (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
+        YY_LESS_LINENO(yyless_macro_arg); \
+        *yy_cp = (yy_hold_char); \
+        YY_RESTORE_YY_MORE_OFFSET \
+        (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+        YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+    } while ( 0 )
 
 #define unput(c) yyunput( c, (yytext_ptr)  )
 
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-       {
+struct yy_buffer_state {
        FILE *yy_input_file;
 
        char *yy_ch_buf;                /* input buffer */
@@ -222,8 +155,8 @@ struct yy_buffer_state
         */
        int yy_at_bol;
 
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
+        int yy_bs_lineno; /**< The line count. */
+        int yy_bs_column; /**< The column count. */
 
        /* Whether to try to fill the input buffer when we reach the
         * end of it.
@@ -246,7 +179,7 @@ struct yy_buffer_state
         */
 #define YY_BUFFER_EOF_PENDING 2
 
-       };
+};
 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
 
 /* Stack of input buffers. */
@@ -271,7 +204,7 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
 
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
-static yy_size_t yy_n_chars;           /* number of characters read into yy_ch_buf */
+static yy_size_t yy_n_chars;   /* number of characters read into yy_ch_buf */
 yy_size_t yyleng;
 
 /* Points to current character in buffer. */
@@ -284,50 +217,47 @@ static int yy_start = 0;  /* start state number */
  */
 static int yy_did_buffer_switch_on_eof;
 
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
+void yyrestart FDECL(, (FILE *input_file  ));
+void yy_switch_to_buffer FDECL(, (YY_BUFFER_STATE new_buffer  ));
+YY_BUFFER_STATE yy_create_buffer FDECL(, (FILE *file,int size  ));
+void yy_delete_buffer FDECL(, (YY_BUFFER_STATE b  ));
+void yy_flush_buffer FDECL(, (YY_BUFFER_STATE b  ));
+void yypush_buffer_state FDECL(, (YY_BUFFER_STATE new_buffer  ));
+void yypop_buffer_state FDECL(, (void ));
 
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+static void yyensure_buffer_stack FDECL(, (void ));
+static void yy_load_buffer_state FDECL(, (void ));
+static void yy_init_buffer FDECL(, (YY_BUFFER_STATE b,FILE *file  ));
 
 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
 
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
+YY_BUFFER_STATE yy_scan_buffer FDECL(, (char *base,yy_size_t size  ));
+YY_BUFFER_STATE yy_scan_string FDECL(, (yyconst char *yy_str  ));
+YY_BUFFER_STATE yy_scan_bytes FDECL(, (yyconst char *bytes,yy_size_t len  ));
 
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
+void *yyalloc FDECL(, (yy_size_t  ));
+void *yyrealloc FDECL(, (void *,yy_size_t  ));
+void yyfree FDECL(, (void *  ));
 
 #define yy_new_buffer yy_create_buffer
-
 #define yy_set_interactive(is_interactive) \
        { \
-       if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-               YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-       } \
-       YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+           if ( ! YY_CURRENT_BUFFER ) { \
+               yyensure_buffer_stack (); \
+               YY_CURRENT_BUFFER_LVALUE = \
+                       yy_create_buffer(yyin,YY_BUF_SIZE ); \
+           } \
+           YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
        }
-
 #define yy_set_bol(at_bol) \
        { \
-       if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-               YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-       } \
-       YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+           if ( ! YY_CURRENT_BUFFER ) { \
+               yyensure_buffer_stack (); \
+               YY_CURRENT_BUFFER_LVALUE = \
+                       yy_create_buffer(yyin,YY_BUF_SIZE ); \
+           } \
+           YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
        }
-
 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
 
 /* Begin user sect3 */
@@ -343,12 +273,15 @@ extern int yylineno;
 int yylineno = 1;
 
 extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
 #define yytext_ptr yytext
 
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
+static yy_state_type yy_get_previous_state FDECL(, (void ));
+static yy_state_type yy_try_NUL_trans FDECL(, (yy_state_type current_state  ));
+static int yy_get_next_buffer FDECL(, (void ));
+static void yy_fatal_error FDECL(, (yyconst char msg[]  )) NORETURN;
 
 /* Done after the current pattern has been matched and before the
  * corresponding action - sets up yytext.
@@ -395,7 +328,7 @@ static yyconst flex_int16_t yy_accept[196] =
 
     } ;
 
-static yyconst flex_int32_t yy_ec[256] =
+static yyconst YY_CHAR yy_ec[256] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
@@ -427,7 +360,7 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[49] =
+static yyconst YY_CHAR yy_meta[49] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -436,7 +369,7 @@ static yyconst flex_int32_t yy_meta[49] =
         1,    1,    1,    1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[198] =
+static yyconst flex_uint16_t yy_base[198] =
     {   0,
         0,  213,  218,  220,  215,  220,  213,  210,  207,  196,
       190,  196,   37,  191,  197,  186,  188,  171,  164,  172,
@@ -488,7 +421,7 @@ static yyconst flex_int16_t yy_def[198] =
 
     } ;
 
-static yyconst flex_int16_t yy_nxt[269] =
+static yyconst flex_uint16_t yy_nxt[269] =
     {   0,
         4,    5,    6,    7,    8,    4,    9,   10,   11,   12,
        13,   14,    4,    4,    4,    4,   15,    4,    4,    4,
@@ -568,7 +501,7 @@ int yy_flex_debug = 0;
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-/* NetHack 3.6  dgn_comp.l     $NHDT-Date: 1449233101 2015/12/04 12:45:01 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.15 $ */
+/* NetHack 3.6  dgn_comp.l     $NHDT-Date: 1449385342 2015/12/06 07:02:22 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.16 $ */
 /*     Copyright (c) 1989 by Jean-Christophe Collet */
 /*     Copyright (c) 1990 by M. Stephenson          */
 /* NetHack may be freely redistributed.  See license for details. */
@@ -630,10 +563,12 @@ int FDECL(yyoutput, (int));
 #define YY_NO_UNPUT
 #endif
 
-#ifdef FLEX_SCANNER
-#define YY_MALLOC_DECL \
-              genericptr_t FDECL(malloc, (size_t)); \
-              genericptr_t FDECL(realloc, (genericptr_t,size_t));
+#if defined(FLEX_SCANNER) || defined(FLEXHACK_SCANNER)
+/* older flex wants this */
+#define YY_MALLOC_DECL  genericptr_t FDECL(malloc, (size_t)); \
+                        genericptr_t FDECL(realloc, (genericptr_t, size_t));
+/* newer flex assumes <stdlib.h> so needs this in case it's been suppressed */
+YY_MALLOC_DECL
 #endif
 
 void FDECL(init_yyin, (FILE *));
@@ -642,91 +577,68 @@ void FDECL(init_yyout, (FILE *));
 /* this doesn't always get put in dgn_comp.h
  * (esp. when using older versions of bison)
  */
-
 extern YYSTYPE yylval;
 
 int nh_line_number = 1;
 
 #define INITIAL 0
 
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
 #ifndef YY_EXTRA_TYPE
 #define YY_EXTRA_TYPE void *
 #endif
 
-static int yy_init_globals (void );
-
 /* Accessor methods to globals.
    These are made visible to non-reentrant scanners for convenience. */
 
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
+int yylex_destroy FDECL(, (void ));
+int yyget_debug FDECL(, (void ));
+void yyset_debug FDECL(, (int debug_flag  ));
+YY_EXTRA_TYPE yyget_extra FDECL(, (void ));
+void yyset_extra FDECL(, (YY_EXTRA_TYPE user_defined  ));
+FILE *yyget_in FDECL(, (void ));
+void yyset_in  FDECL(, (FILE * _in_str  ));
+FILE *yyget_out FDECL(, (void ));
+void yyset_out  FDECL(, (FILE * _out_str  ));
+yy_size_t yyget_leng FDECL(, (void ));
+char *yyget_text FDECL(, (void ));
+int yyget_lineno FDECL(, (void ));
+void yyset_lineno FDECL(, (int _line_number  ));
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
  */
 
 #ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
+extern int yywrap FDECL(, (void ));
 #endif
 
-    static void yyunput (int c,char *buf_ptr  );
+#ifndef YY_NO_UNPUT
+
+static void yyunput FDECL(, (int c,char *buf_ptr  ));
+#endif
 
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
+static void yy_flex_strncpy FDECL(, (char *,yyconst char *,int ));
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
+static int yy_flex_strlen FDECL(, (yyconst char * ));
 #endif
 
 #ifndef YY_NO_INPUT
 
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
+static int input FDECL(, (void ));
 
 #endif
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
 #define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -769,7 +681,6 @@ static int input (void );
                        clearerr(yyin); \
                        } \
                }\
-\
 
 #endif
 
@@ -791,17 +702,15 @@ static int input (void );
 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
 #endif
 
-/* end tables serialization structures and prototypes */
-
 /* Default declaration of generated scanner - a define so the user can
  * easily add parameters.
  */
 #ifndef YY_DECL
 #define YY_DECL_IS_OURS 1
 
-extern int yylex (void);
+extern int yylex FDECL(, (void));
 
-#define YY_DECL int yylex (void)
+#define YY_DECL int yylex ()
 #endif /* !YY_DECL */
 
 /* Code executed at the beginning of each rule, after yytext and yyleng
@@ -813,7 +722,7 @@ extern int yylex (void);
 
 /* Code executed at the end of each rule. */
 #ifndef YY_BREAK
-#define YY_BREAK break;
+#define YY_BREAK /*LINTED*/break;
 #endif
 
 #define YY_RULE_SETUP \
@@ -826,9 +735,9 @@ extern int yylex (void);
  */
 YY_DECL
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
+       yy_state_type yy_current_state;
+       char *yy_cp, *yy_bp;
+       int yy_act;
 
        if ( !(yy_init) )
                {
@@ -856,7 +765,9 @@ YY_DECL
                yy_load_buffer_state( );
                }
 
-       while ( 1 )             /* loops until end-of-file is reached */
+       {
+
+       while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
                {
                yy_cp = (yy_c_buf_p);
 
@@ -873,7 +784,7 @@ YY_DECL
 yy_match:
                do
                        {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+                       YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
                        if ( yy_accept[yy_current_state] )
                                {
                                (yy_last_accepting_state) = yy_current_state;
@@ -1187,6 +1098,7 @@ case YY_STATE_EOF(INITIAL):
                        "fatal flex scanner internal error--no action found" );
        } /* end of action switch */
                } /* end of scanning one token */
+       } /* end of user's declarations */
 } /* end of yylex */
 
 /* yy_get_next_buffer - try to read in a new buffer
@@ -1196,151 +1108,132 @@ case YY_STATE_EOF(INITIAL):
  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  *     EOB_ACT_END_OF_FILE - end of file
  */
-static int yy_get_next_buffer (void)
+static int yy_get_next_buffer ()
 {
-       register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-       register char *source = (yytext_ptr);
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-       else
-               {
-                       yy_size_t num_to_read =
-                       YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+        char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+    char *source = (yytext_ptr);
+    yy_size_t number_to_move, i;
+    int ret_val;
+
+    if ((yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1])
+        YY_FATAL_ERROR("fatal flex scanner internal error--end of buffer missed");
+
+    if (YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0) {
+        /* Don't try to fill the buffer, so this is an EOF. */
+        if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) {
+            /* We matched a single character, the EOB, so
+             * treat this as a final EOF.
+             */
+            return EOB_ACT_END_OF_FILE;
+        } else {
+            /* We matched some text prior to the EOB, first
+             * process it.
+             */
+            return EOB_ACT_LAST_MATCH;
+        }
+    }
 
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
+    /* Try to read more data. */
 
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+    /* First move last chars to start of buffer. */
+    number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
 
-                       int yy_c_buf_p_offset =
-                               (int) ((yy_c_buf_p) - b->yy_ch_buf);
+    for (i = 0; i < number_to_move; ++i)
+        *(dest++) = *(source++);
 
-                       if ( b->yy_is_our_buffer )
-                               {
-                               yy_size_t new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
+    if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING) {
+        /* don't do the read, it's not guaranteed to return an EOF,
+         * just force an EOF
+         */
+        YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+    } else {
+        yy_size_t num_to_read =
+                YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
+        while (num_to_read <= 0) {
+            /* Not enough room in the buffer - grow it. */
 
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
+            /* just a shorter name for the current buffer */
+            YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+            int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf);
 
-                       (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+            if ( b->yy_is_our_buffer ) {
+                yy_size_t new_size = b->yy_buf_size * 2;
 
-                       num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-                                               number_to_move - 1;
+                if ( new_size <= 0 )
+                    b->yy_buf_size += b->yy_buf_size / 8;
+                else
+                    b->yy_buf_size *= 2;
 
-                       }
+                b->yy_ch_buf = (char *)
+                /* Include room in for 2 EOB chars. */
+                yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
+            } else
+                /* Can't grow it, we don't own it. */
+                b->yy_ch_buf = 0;
 
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
+            if (! b->yy_ch_buf)
+                YY_FATAL_ERROR("fatal error - scanner input buffer overflow" );
 
-               /* Read in more data. */
-               YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-                       (yy_n_chars), num_to_read );
+            (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
 
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-               }
+            num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+                                number_to_move - 1;
 
-       if ( (yy_n_chars) == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart(yyin  );
-                       }
+        }
 
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
+        if ( num_to_read > YY_READ_BUF_SIZE )
+            num_to_read = YY_READ_BUF_SIZE;
 
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
+        /* Read in more data. */
+        YY_INPUT((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+                (yy_n_chars), num_to_read);
+        YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+    }
 
-       if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-               /* Extend the array by 50%, plus the number we really need. */
-               yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-               YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-               if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-                       YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-       }
+    if ((yy_n_chars) == 0) {
+        if (number_to_move == YY_MORE_ADJ) {
+            ret_val = EOB_ACT_END_OF_FILE;
+            yyrestart(yyin  );
+        } else {
+            ret_val = EOB_ACT_LAST_MATCH;
+            YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING;
+        }
+    } else
+        ret_val = EOB_ACT_CONTINUE_SCAN;
+
+    if ((yy_size_t) ((yy_n_chars) + number_to_move)
+                    > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+        /* Extend the array by 50%, plus the number we really need. */
+        yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *)
+                yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+        if (! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf)
+            YY_FATAL_ERROR("out of dynamic memory in yy_get_next_buffer()");
+    }
 
-       (yy_n_chars) += number_to_move;
-       YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-       YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+    (yy_n_chars) += number_to_move;
+    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
 
-       (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+    (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
 
-       return ret_val;
+    return ret_val;
 }
 
-/* yy_get_previous_state - get the state just before the EOB char was reached */
+/* yy_get_previous_state - get the state just before EOB char was reached */
 
-    static yy_state_type yy_get_previous_state (void)
+static yy_state_type yy_get_previous_state ()
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
+    yy_state_type yy_current_state;
+    char *yy_cp;
 
        yy_current_state = (yy_start);
        yy_current_state += YY_AT_BOL();
 
-       for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+    for (yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp) {
+
+               YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
                if ( yy_accept[yy_current_state] )
                        {
                        (yy_last_accepting_state) = yy_current_state;
@@ -1353,9 +1246,9 @@ static int yy_get_next_buffer (void)
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
+    }
 
-       return yy_current_state;
+    return yy_current_state;
 }
 
 /* yy_try_NUL_trans - try to make a transition on the NUL character
@@ -1363,12 +1256,14 @@ static int yy_get_next_buffer (void)
  * synopsis
  *     next_state = yy_try_NUL_trans( current_state );
  */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+
+static yy_state_type yy_try_NUL_trans (yy_current_state )
+        yy_state_type yy_current_state;
 {
-       register int yy_is_jam;
-       register char *yy_cp = (yy_c_buf_p);
+       int yy_is_jam;
+       char *yy_cp = (yy_c_buf_p);
 
-       register YY_CHAR yy_c = 1;
+       YY_CHAR yy_c = 1;
        if ( yy_accept[yy_current_state] )
                {
                (yy_last_accepting_state) = yy_current_state;
@@ -1386,9 +1281,13 @@ static int yy_get_next_buffer (void)
                return yy_is_jam ? 0 : yy_current_state;
 }
 
-    static void yyunput (int c, register char * yy_bp )
+#ifndef YY_NO_UNPUT
+
+static void yyunput (c,yy_bp )
+        int c;
+        char * yy_bp;
 {
-       register char *yy_cp;
+       char *yy_cp;
 
     yy_cp = (yy_c_buf_p);
 
@@ -1398,10 +1297,10 @@ static int yy_get_next_buffer (void)
        if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
                { /* need to shift things up to make room */
                /* +2 for EOB chars. */
-               register yy_size_t number_to_move = (yy_n_chars) + 2;
-               register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+               yy_size_t number_to_move = (yy_n_chars) + 2;
+               char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
                                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
-               register char *source =
+               char *source =
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
 
                while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
@@ -1423,13 +1322,10 @@ static int yy_get_next_buffer (void)
        (yy_c_buf_p) = yy_cp;
 }
 
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
 #endif
 
+#ifndef YY_NO_INPUT
+static int input ()
 {
        int c;
 
@@ -1475,11 +1371,7 @@ static int yy_get_next_buffer (void)
 
                                        if ( ! (yy_did_buffer_switch_on_eof) )
                                                YY_NEW_FILE;
-#ifdef __cplusplus
-                                       return yyinput();
-#else
                                        return input();
-#endif
                                        }
 
                                case EOB_ACT_CONTINUE_SCAN:
@@ -1489,7 +1381,7 @@ static int yy_get_next_buffer (void)
                        }
                }
 
-       c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
+       c = *(uchar *) (yy_c_buf_p);    /* cast for 8-bit char's */
        *(yy_c_buf_p) = '\0';   /* preserve yytext */
        (yy_hold_char) = *++(yy_c_buf_p);
 
@@ -1504,7 +1396,9 @@ static int yy_get_next_buffer (void)
  *
  * @note This function does not reset the start condition to @c INITIAL .
  */
-    void yyrestart  (FILE * input_file )
+
+void yyrestart (input_file )
+        FILE * input_file;
 {
 
        if ( ! YY_CURRENT_BUFFER ){
@@ -1521,14 +1415,15 @@ static int yy_get_next_buffer (void)
  * @param new_buffer The new input buffer.
  *
  */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+void yy_switch_to_buffer (new_buffer )
+        YY_BUFFER_STATE  new_buffer;
 {
 
        /* TODO. We should be able to replace this entire function body
         * with
         *              yypop_buffer_state();
         *              yypush_buffer_state(new_buffer);
-     */
+        */
        yyensure_buffer_stack ();
        if ( YY_CURRENT_BUFFER == new_buffer )
                return;
@@ -1552,7 +1447,7 @@ static int yy_get_next_buffer (void)
        (yy_did_buffer_switch_on_eof) = 1;
 }
 
-static void yy_load_buffer_state  (void)
+static void yy_load_buffer_state ()
 {
        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
        (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
@@ -1566,7 +1461,9 @@ static void yy_load_buffer_state  (void)
  *
  * @return the allocated buffer state.
  */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+YY_BUFFER_STATE yy_create_buffer (file,size )
+        FILE * file;
+        int  size;
 {
        YY_BUFFER_STATE b;
 
@@ -1574,7 +1471,7 @@ static void yy_load_buffer_state  (void)
        if ( ! b )
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
-       b->yy_buf_size = size;
+       b->yy_buf_size = (yy_size_t)size;
 
        /* yy_ch_buf has to be 2 characters longer than the size given because
         * we need to put in 2 end-of-buffer characters.
@@ -1594,7 +1491,8 @@ static void yy_load_buffer_state  (void)
  * @param b a buffer created with yy_create_buffer()
  *
  */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
+void yy_delete_buffer (b )
+        YY_BUFFER_STATE  b;
 {
 
        if ( ! b )
@@ -1613,8 +1511,9 @@ static void yy_load_buffer_state  (void)
  * This function is sometimes called more than once on the same buffer,
  * such as during a yyrestart() or at EOF.
  */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
+static void yy_init_buffer (b,file )
+        YY_BUFFER_STATE  b;
+        FILE * file;
 {
        int oerrno = errno;
 
@@ -1641,7 +1540,8 @@ static void yy_load_buffer_state  (void)
  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
  *
  */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
+void yy_flush_buffer (b )
+        YY_BUFFER_STATE  b;
 {
        if ( ! b )
                return;
@@ -1670,7 +1570,8 @@ static void yy_load_buffer_state  (void)
  *  @param new_buffer The new state.
  *
  */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+void yypush_buffer_state (new_buffer )
+        YY_BUFFER_STATE new_buffer;
 {
        if (new_buffer == NULL)
                return;
@@ -1700,7 +1601,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
  *  The next element becomes the new top.
  *
  */
-void yypop_buffer_state (void)
+void yypop_buffer_state ()
 {
        if (!YY_CURRENT_BUFFER)
                return;
@@ -1719,56 +1620,60 @@ void yypop_buffer_state (void)
 /* Allocates the stack if it does not exist.
  *  Guarantees space for at least one push.
  */
-static void yyensure_buffer_stack (void)
+static void yyensure_buffer_stack ()
 {
-       yy_size_t num_to_alloc;
+    yy_size_t num_to_alloc;
 
-       if (!(yy_buffer_stack)) {
-
-               /* First allocation is just for 2 elements, since we don't know if this
-                * scanner will even need a stack. We use 2 instead of 1 to avoid an
-                * immediate realloc on the next call.
+    if (!(yy_buffer_stack)) {
+        /* First allocation is just for 2 elements, since we don't know if this
+         * scanner will even need a stack. We use 2 instead of 1 to avoid an
+         * immediate realloc on the next call.
          */
-               num_to_alloc = 1;
-               (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-                                                               (num_to_alloc * sizeof(struct yy_buffer_state*)
-                                                               );
-               if ( ! (yy_buffer_stack) )
-                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-                                                               
-               memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-                               
-               (yy_buffer_stack_max) = num_to_alloc;
-               (yy_buffer_stack_top) = 0;
-               return;
-       }
+#if 1   /* [PR] avoid C++-style comment; older C compilers choke on it */
+        num_to_alloc = 2; /* also changed to match the comment... */
+#else
+        num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
+#endif
+        (yy_buffer_stack) = (struct yy_buffer_state**)
+                yyalloc(num_to_alloc * sizeof(struct yy_buffer_state*) );
+        if (!(yy_buffer_stack))
+            YY_FATAL_ERROR("out of dynamic memory in yyensure_buffer_stack()");
 
-       if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+        (void) memset((yy_buffer_stack), 0,
+                      num_to_alloc * sizeof(struct yy_buffer_state*));
 
-               /* Increase the buffer to prepare for a possible push. */
-               int grow_size = 8 /* arbitrary grow size */;
+        (yy_buffer_stack_max) = num_to_alloc;
+        (yy_buffer_stack_top) = 0;
+        return;
+    }
 
-               num_to_alloc = (yy_buffer_stack_max) + grow_size;
-               (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-                                                               ((yy_buffer_stack),
-                                                               num_to_alloc * sizeof(struct yy_buffer_state*)
-                                                               );
-               if ( ! (yy_buffer_stack) )
-                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+    if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1) {
+        /* Increase the buffer to prepare for a possible push. */
+        yy_size_t grow_size = 8 /* arbitrary grow size */;
 
-               /* zero only the new slots.*/
-               memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-               (yy_buffer_stack_max) = num_to_alloc;
-       }
+        num_to_alloc = (yy_buffer_stack_max) + grow_size;
+        (yy_buffer_stack) = (struct yy_buffer_state**)
+                yyrealloc((yy_buffer_stack),num_to_alloc * sizeof(struct yy_buffer_state*) );
+        if (!(yy_buffer_stack))
+            YY_FATAL_ERROR("out of dynamic memory in yyensure_buffer_stack()");
+
+        /* zero only the new slots.*/
+        (void) memset((yy_buffer_stack) + (yy_buffer_stack_max), 0,
+                      grow_size * sizeof(struct yy_buffer_state*));
+        (yy_buffer_stack_max) = num_to_alloc;
+    }
 }
 
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
+/** Setup the input buffer state to scan directly from a user-specified
+ * character buffer.
  * @param base the character buffer
  * @param size the size in bytes of the character buffer
  *
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+YY_BUFFER_STATE yy_scan_buffer (base,size )
+        char * base;
+        yy_size_t  size;
 {
        YY_BUFFER_STATE b;
 
@@ -1797,33 +1702,37 @@ YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
        return b;
 }
 
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
+/** Setup the input buffer state to scan a string. The next call to yylex()
+ * will scan from a @e copy of @a str.
  * @param yystr a NUL-terminated string to scan
  *
  * @return the newly allocated buffer state object.
  * @note If you want to scan bytes that may contain NUL values, then use
  *       yy_scan_bytes() instead.
  */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+YY_BUFFER_STATE yy_scan_string (yystr )
+        yyconst char * yystr;
 {
 
        return yy_scan_bytes(yystr,strlen(yystr) );
 }
 
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
+/** Setup the input buffer state to scan the given bytes. The next call to
+ * yylex() will scan from a @e copy of @a bytes.
  * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a
+ * bytes.
  *
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes (yybytes,_yybytes_len )
+        yyconst char * yybytes;
+        yy_size_t  _yybytes_len;
 {
        YY_BUFFER_STATE b;
        char *buf;
        yy_size_t n;
-       int i;
+       yy_size_t i;
 
        /* Get memory for full buffer, including space for trailing EOB's. */
        n = _yybytes_len + 2;
@@ -1852,9 +1761,10 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len
 #define YY_EXIT_FAILURE 2
 #endif
 
-static void yy_fatal_error (yyconst char* msg )
+static void yy_fatal_error (msg )
+        yyconst char* msg;
 {
-       (void) fprintf( stderr, "%s\n", msg );
+                       (void) fprintf( stderr, "%s\n", msg );
        exit( YY_EXIT_FAILURE );
 }
 
@@ -1862,25 +1772,23 @@ static void yy_fatal_error (yyconst char* msg )
 
 #undef yyless
 #define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
+    do { \
+       /* Undo effects of setting up yytext. */ \
         int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-               yytext[yyleng] = (yy_hold_char); \
-               (yy_c_buf_p) = yytext + yyless_macro_arg; \
-               (yy_hold_char) = *(yy_c_buf_p); \
-               *(yy_c_buf_p) = '\0'; \
-               yyleng = yyless_macro_arg; \
-               } \
-       while ( 0 )
+        YY_LESS_LINENO(yyless_macro_arg); \
+       yytext[yyleng] = (yy_hold_char); \
+       (yy_c_buf_p) = yytext + yyless_macro_arg; \
+       (yy_hold_char) = *(yy_c_buf_p); \
+       *(yy_c_buf_p) = '\0'; \
+       yyleng = yyless_macro_arg; \
+    } while ( 0 )
 
 /* Accessor  methods (get/set functions) to struct members. */
 
 /** Get the current line number.
  *
  */
-int yyget_lineno  (void)
+int yyget_lineno ()
 {
 
     return yylineno;
@@ -1889,7 +1797,7 @@ int yyget_lineno  (void)
 /** Get the input stream.
  *
  */
-FILE *yyget_in  (void)
+FILE *yyget_in ()
 {
         return yyin;
 }
@@ -1897,7 +1805,7 @@ FILE *yyget_in  (void)
 /** Get the output stream.
  *
  */
-FILE *yyget_out  (void)
+FILE *yyget_out ()
 {
         return yyout;
 }
@@ -1905,7 +1813,7 @@ FILE *yyget_out  (void)
 /** Get the length of the current token.
  *
  */
-yy_size_t yyget_leng  (void)
+yy_size_t yyget_leng ()
 {
         return yyleng;
 }
@@ -1914,48 +1822,52 @@ yy_size_t yyget_leng  (void)
  *
  */
 
-char *yyget_text  (void)
+char *yyget_text ()
 {
         return yytext;
 }
 
 /** Set the current line number.
- * @param line_number
+ * @param _line_number line number
  *
  */
-void yyset_lineno (int  line_number )
+void yyset_lineno (_line_number )
+        int  _line_number;
 {
 
-    yylineno = line_number;
+    yylineno = _line_number;
 }
 
 /** Set the input stream. This does not discard the current
  * input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
  *
  * @see yy_switch_to_buffer
  */
-void yyset_in (FILE *  in_str )
+void yyset_in (_in_str )
+        FILE *  _in_str;
 {
-        yyin = in_str ;
+        yyin = _in_str ;
 }
 
-void yyset_out (FILE *  out_str )
+void yyset_out (_out_str )
+        FILE *  _out_str;
 {
-        yyout = out_str ;
+        yyout = _out_str ;
 }
 
-int yyget_debug  (void)
+int yyget_debug ()
 {
         return yy_flex_debug;
 }
 
-void yyset_debug (int  bdebug )
+void yyset_debug (_bdebug )
+        int  _bdebug;
 {
-        yy_flex_debug = bdebug ;
+        yy_flex_debug = _bdebug ;
 }
 
-static int yy_init_globals (void)
+static int yy_init_globals ()
 {
         /* Initialization is the same as for the non-reentrant scanner.
      * This function is called from yylex_destroy(), so don't allocate here.
@@ -1984,22 +1896,21 @@ static int yy_init_globals (void)
 }
 
 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
+int yylex_destroy ()
 {
 
     /* Pop the buffer stack, destroying each element. */
-       while(YY_CURRENT_BUFFER){
-               yy_delete_buffer(YY_CURRENT_BUFFER  );
-               YY_CURRENT_BUFFER_LVALUE = NULL;
-               yypop_buffer_state();
-       }
-
-       /* Destroy the stack itself. */
-       yyfree((yy_buffer_stack) );
-       (yy_buffer_stack) = NULL;
+    while (YY_CURRENT_BUFFER) {
+        yy_delete_buffer(YY_CURRENT_BUFFER  );
+        YY_CURRENT_BUFFER_LVALUE = NULL;
+        yypop_buffer_state();
+    }
+    /* Destroy the stack itself. */
+    yyfree((yy_buffer_stack) );
+    (yy_buffer_stack) = NULL;
 
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
+    /* Reset the globals. This is important in a non-reentrant scanner
+     * so the next time yylex() is called, initialization will occur. */
     yy_init_globals( );
 
     return 0;
@@ -2010,18 +1921,23 @@ int yylex_destroy  (void)
  */
 
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+static void yy_flex_strncpy (s1,s2,n )
+        char* s1;
+        yyconst char * s2;
+        int n;
 {
-       register int i;
+               
+       int i;
        for ( i = 0; i < n; ++i )
                s1[i] = s2[i];
 }
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
+static int yy_flex_strlen (s )
+        yyconst char * s;
 {
-       register int n;
+       int n;
        for ( n = 0; s[n]; ++n )
                ;
 
@@ -2029,13 +1945,18 @@ static int yy_flex_strlen (yyconst char * s )
 }
 #endif
 
-void *yyalloc (yy_size_t  size )
+void *yyalloc (size )
+        yy_size_t  size;
 {
+               
        return (void *) malloc( size );
 }
 
-void *yyrealloc  (void * ptr, yy_size_t  size )
+void *yyrealloc (ptr,size )
+        void * ptr;
+        yy_size_t  size;
 {
+               
        /* The cast to (char *) in the following accommodates both
         * implementations that use char* generic pointers, and those
         * that use void* generic pointers.  It works with the latter
@@ -2046,13 +1967,13 @@ void *yyrealloc  (void * ptr, yy_size_t  size )
        return (void *) realloc( (char *) ptr, size );
 }
 
-void yyfree (void * ptr )
+void yyfree (ptr )
+        void * ptr;
 {
+               
        free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
 }
 
-#define YYTABLES_NAME "yytables"
-
 /* routine to switch to another input file; needed for flex */
 void
 init_yyin( input_f )
@@ -2065,6 +1986,7 @@ FILE *input_f;
 #endif
         yyin = input_f;
 }
+
 /* analogous routine (for completeness) */
 void
 init_yyout( output_f )
index dd76b84848a69c560b5bd247276719c11965a134..b34ae00915b56d3e3ef7eb7d187d87e8ef183d03 100644 (file)
 
 #define  YY_INT_ALIGNED short int
 
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
+/* A lexical scanner generated by flex via 'flex -S flexhack.skl'
+ * where flexhack.skl is a nethack-specific alternate skeleton derived
+ * from flex 2.6.0's skel.c (which in turn was generated from flex.skl).
+ *
+ * Support for C++, re-entrancy, and table serialization stripped out.
+ * NetHack's usage doesn't need them and we want to reduce the size and
+ * complexity of this skeleton as well as of the generated scanner code.
+ */
+#define FLEXHACK_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 37
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 0
 
-/* First, we deal with  platform-specific or compiler-specific issues. */
+#include "config.h"
 
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
 #include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types.
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
+/* we don't care if actual types happen to have more bits than their names;
+   the tables will just take up more space, possibly slowing the parse;
+   still, allow config.h to override these via typedef+#define if desired */
+#ifndef FLEX_INT32_T
 typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t;
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
 #endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
+#ifndef FLEX_INT16_T
+typedef short int flex_int16_t;
 #endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
+#ifndef FLEX_UINT16_T
+typedef unsigned short int flex_uint16_t;
 #endif
 
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
-
-#ifdef YY_USE_CONST
 #define yyconst const
-#else
-#define yyconst
-#endif
 
 /* Returned upon end-of-file. */
 #define YY_NULL 0
@@ -116,7 +43,7 @@ typedef unsigned int flex_uint32_t;
  * we want to instead treat it as an 8-bit unsigned char, hence the
  * double cast.
  */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((unsigned int) (uchar) c)
 
 /* Enter a start condition.  This macro really ought to take a parameter,
  * but we do it the disgusting crufty way forced on us by the ()-less
@@ -141,10 +68,19 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
 #define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
 #endif
 
-/* The state buf must be large enough to hold one state per character in the main buffer.
+/* The state buf must be large enough to hold one state per character
+ * in the main buffer.
  */
 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
 
@@ -159,35 +95,32 @@ typedef size_t yy_size_t;
 #endif
 
 extern yy_size_t yyleng;
-
 extern FILE *yyin, *yyout;
 
 #define EOB_ACT_CONTINUE_SCAN 0
 #define EOB_ACT_END_OF_FILE 1
 #define EOB_ACT_LAST_MATCH 2
 
-    #define YY_LESS_LINENO(n)
+#define YY_LESS_LINENO(n)
+#define YY_LINENO_REWIND_TO(ptr)
 
 /* Return all but the first "n" matched characters back to the input stream. */
 #define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
+    do { \
+        /* Undo effects of setting up yytext. */ \
         int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-               *yy_cp = (yy_hold_char); \
-               YY_RESTORE_YY_MORE_OFFSET \
-               (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
+        YY_LESS_LINENO(yyless_macro_arg); \
+        *yy_cp = (yy_hold_char); \
+        YY_RESTORE_YY_MORE_OFFSET \
+        (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+        YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+    } while ( 0 )
 
 #define unput(c) yyunput( c, (yytext_ptr)  )
 
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-       {
+struct yy_buffer_state {
        FILE *yy_input_file;
 
        char *yy_ch_buf;                /* input buffer */
@@ -222,8 +155,8 @@ struct yy_buffer_state
         */
        int yy_at_bol;
 
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
+        int yy_bs_lineno; /**< The line count. */
+        int yy_bs_column; /**< The column count. */
 
        /* Whether to try to fill the input buffer when we reach the
         * end of it.
@@ -246,7 +179,7 @@ struct yy_buffer_state
         */
 #define YY_BUFFER_EOF_PENDING 2
 
-       };
+};
 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
 
 /* Stack of input buffers. */
@@ -271,7 +204,7 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
 
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
-static yy_size_t yy_n_chars;           /* number of characters read into yy_ch_buf */
+static yy_size_t yy_n_chars;   /* number of characters read into yy_ch_buf */
 yy_size_t yyleng;
 
 /* Points to current character in buffer. */
@@ -284,50 +217,47 @@ static int yy_start = 0;  /* start state number */
  */
 static int yy_did_buffer_switch_on_eof;
 
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
+void yyrestart FDECL(, (FILE *input_file  ));
+void yy_switch_to_buffer FDECL(, (YY_BUFFER_STATE new_buffer  ));
+YY_BUFFER_STATE yy_create_buffer FDECL(, (FILE *file,int size  ));
+void yy_delete_buffer FDECL(, (YY_BUFFER_STATE b  ));
+void yy_flush_buffer FDECL(, (YY_BUFFER_STATE b  ));
+void yypush_buffer_state FDECL(, (YY_BUFFER_STATE new_buffer  ));
+void yypop_buffer_state FDECL(, (void ));
 
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+static void yyensure_buffer_stack FDECL(, (void ));
+static void yy_load_buffer_state FDECL(, (void ));
+static void yy_init_buffer FDECL(, (YY_BUFFER_STATE b,FILE *file  ));
 
 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
 
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
+YY_BUFFER_STATE yy_scan_buffer FDECL(, (char *base,yy_size_t size  ));
+YY_BUFFER_STATE yy_scan_string FDECL(, (yyconst char *yy_str  ));
+YY_BUFFER_STATE yy_scan_bytes FDECL(, (yyconst char *bytes,yy_size_t len  ));
 
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
+void *yyalloc FDECL(, (yy_size_t  ));
+void *yyrealloc FDECL(, (void *,yy_size_t  ));
+void yyfree FDECL(, (void *  ));
 
 #define yy_new_buffer yy_create_buffer
-
 #define yy_set_interactive(is_interactive) \
        { \
-       if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-               YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-       } \
-       YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+           if ( ! YY_CURRENT_BUFFER ) { \
+               yyensure_buffer_stack (); \
+               YY_CURRENT_BUFFER_LVALUE = \
+                       yy_create_buffer(yyin,YY_BUF_SIZE ); \
+           } \
+           YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
        }
-
 #define yy_set_bol(at_bol) \
        { \
-       if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-               YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-       } \
-       YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+           if ( ! YY_CURRENT_BUFFER ) { \
+               yyensure_buffer_stack (); \
+               YY_CURRENT_BUFFER_LVALUE = \
+                       yy_create_buffer(yyin,YY_BUF_SIZE ); \
+           } \
+           YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
        }
-
 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
 
 /* Begin user sect3 */
@@ -343,12 +273,15 @@ extern int yylineno;
 int yylineno = 1;
 
 extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
 #define yytext_ptr yytext
 
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
+static yy_state_type yy_get_previous_state FDECL(, (void ));
+static yy_state_type yy_try_NUL_trans FDECL(, (yy_state_type current_state  ));
+static int yy_get_next_buffer FDECL(, (void ));
+static void yy_fatal_error FDECL(, (yyconst char msg[]  )) NORETURN;
 
 /* Done after the current pattern has been matched and before the
  * corresponding action - sets up yytext.
@@ -489,7 +422,7 @@ static yyconst flex_int16_t yy_accept[1057] =
       198,  198,   48,   32,   44,    0
     } ;
 
-static yyconst flex_int32_t yy_ec[256] =
+static yyconst YY_CHAR yy_ec[256] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
@@ -521,7 +454,7 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[75] =
+static yyconst YY_CHAR yy_meta[75] =
     {   0,
         1,    2,    3,    2,    2,    1,    1,    2,    1,    1,
         1,    2,    4,    2,    4,    1,    1,    1,    5,    5,
@@ -533,7 +466,7 @@ static yyconst flex_int32_t yy_meta[75] =
         6,    5,    6,    6
     } ;
 
-static yyconst flex_int16_t yy_base[1064] =
+static yyconst flex_uint16_t yy_base[1064] =
     {   0,
         0,   73,  102,   77, 1254, 1255,   75, 1255, 1250, 1235,
      1244,    0, 1204, 1234, 1233,   78,   66, 1230, 1229, 1215,
@@ -775,7 +708,7 @@ static yyconst flex_int16_t yy_def[1064] =
      1056, 1056, 1056
     } ;
 
-static yyconst flex_int16_t yy_nxt[1330] =
+static yyconst flex_uint16_t yy_nxt[1330] =
     {   0,
         6,    7,    8,    9,    7,   10,   11,    6,   12,    6,
        13,   14,   15,    6,   16,   17,   18,   19,   20,   21,
@@ -1089,7 +1022,7 @@ int yy_flex_debug = 0;
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-/* NetHack 3.6  lev_comp.l     $NHDT-Date: 1449188840 2015/12/04 00:27:20 $  $NHDT-Branch: master $:$NHDT-Revision: 1.22 $ */
+/* NetHack 3.6  lev_comp.l     $NHDT-Date: 1449385344 2015/12/06 07:02:24 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.24 $ */
 /*     Copyright (c) 1989 by Jean-Christophe Collet */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -1149,10 +1082,12 @@ int FDECL(yyoutput, (int));
 #define YY_NO_UNPUT
 #endif
 
-#ifdef FLEX_SCANNER
-#define YY_MALLOC_DECL \
-             genericptr_t FDECL(malloc, (size_t)); \
-             genericptr_t FDECL(realloc, (genericptr_t,size_t));
+#if defined(FLEX_SCANNER) || defined(FLEXHACK_SCANNER)
+/* older flex wants this */
+#define YY_MALLOC_DECL  genericptr_t FDECL(malloc, (size_t)); \
+                        genericptr_t FDECL(realloc, (genericptr_t, size_t));
+/* newer flex assumes <stdlib.h> so needs this in case it's been suppressed */
+YY_MALLOC_DECL
 #endif
 
 void FDECL(init_yyin, (FILE *));
@@ -1192,84 +1127,62 @@ FILE *orig_yyin = NULL;
 #define INITIAL 0
 #define MAPC 1
 
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
 #ifndef YY_EXTRA_TYPE
 #define YY_EXTRA_TYPE void *
 #endif
 
-static int yy_init_globals (void );
-
 /* Accessor methods to globals.
    These are made visible to non-reentrant scanners for convenience. */
 
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
+int yylex_destroy FDECL(, (void ));
+int yyget_debug FDECL(, (void ));
+void yyset_debug FDECL(, (int debug_flag  ));
+YY_EXTRA_TYPE yyget_extra FDECL(, (void ));
+void yyset_extra FDECL(, (YY_EXTRA_TYPE user_defined  ));
+FILE *yyget_in FDECL(, (void ));
+void yyset_in  FDECL(, (FILE * _in_str  ));
+FILE *yyget_out FDECL(, (void ));
+void yyset_out  FDECL(, (FILE * _out_str  ));
+yy_size_t yyget_leng FDECL(, (void ));
+char *yyget_text FDECL(, (void ));
+int yyget_lineno FDECL(, (void ));
+void yyset_lineno FDECL(, (int _line_number  ));
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
  */
 
 #ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
+extern int yywrap FDECL(, (void ));
 #endif
 
-    static void yyunput (int c,char *buf_ptr  );
+#ifndef YY_NO_UNPUT
+
+static void yyunput FDECL(, (int c,char *buf_ptr  ));
+#endif
 
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
+static void yy_flex_strncpy FDECL(, (char *,yyconst char *,int ));
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
+static int yy_flex_strlen FDECL(, (yyconst char * ));
 #endif
 
 #ifndef YY_NO_INPUT
 
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
+static int input FDECL(, (void ));
 
 #endif
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
 #define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -1312,7 +1225,6 @@ static int input (void );
                        clearerr(yyin); \
                        } \
                }\
-\
 
 #endif
 
@@ -1334,17 +1246,15 @@ static int input (void );
 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
 #endif
 
-/* end tables serialization structures and prototypes */
-
 /* Default declaration of generated scanner - a define so the user can
  * easily add parameters.
  */
 #ifndef YY_DECL
 #define YY_DECL_IS_OURS 1
 
-extern int yylex (void);
+extern int yylex FDECL(, (void));
 
-#define YY_DECL int yylex (void)
+#define YY_DECL int yylex ()
 #endif /* !YY_DECL */
 
 /* Code executed at the beginning of each rule, after yytext and yyleng
@@ -1356,7 +1266,7 @@ extern int yylex (void);
 
 /* Code executed at the end of each rule. */
 #ifndef YY_BREAK
-#define YY_BREAK break;
+#define YY_BREAK /*LINTED*/break;
 #endif
 
 #define YY_RULE_SETUP \
@@ -1369,9 +1279,9 @@ extern int yylex (void);
  */
 YY_DECL
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
+       yy_state_type yy_current_state;
+       char *yy_cp, *yy_bp;
+       int yy_act;
 
        if ( !(yy_init) )
                {
@@ -1399,7 +1309,9 @@ YY_DECL
                yy_load_buffer_state( );
                }
 
-       while ( 1 )             /* loops until end-of-file is reached */
+       {
+
+       while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
                {
                yy_cp = (yy_c_buf_p);
 
@@ -1416,7 +1328,7 @@ YY_DECL
 yy_match:
                do
                        {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+                       YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
                        if ( yy_accept[yy_current_state] )
                                {
                                (yy_last_accepting_state) = yy_current_state;
@@ -2429,6 +2341,7 @@ case YY_STATE_EOF(MAPC):
                        "fatal flex scanner internal error--no action found" );
        } /* end of action switch */
                } /* end of scanning one token */
+       } /* end of user's declarations */
 } /* end of yylex */
 
 /* yy_get_next_buffer - try to read in a new buffer
@@ -2438,151 +2351,132 @@ case YY_STATE_EOF(MAPC):
  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  *     EOB_ACT_END_OF_FILE - end of file
  */
-static int yy_get_next_buffer (void)
+static int yy_get_next_buffer ()
 {
-       register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-       register char *source = (yytext_ptr);
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-       else
-               {
-                       yy_size_t num_to_read =
-                       YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+        char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+    char *source = (yytext_ptr);
+    yy_size_t number_to_move, i;
+    int ret_val;
+
+    if ((yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1])
+        YY_FATAL_ERROR("fatal flex scanner internal error--end of buffer missed");
+
+    if (YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0) {
+        /* Don't try to fill the buffer, so this is an EOF. */
+        if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) {
+            /* We matched a single character, the EOB, so
+             * treat this as a final EOF.
+             */
+            return EOB_ACT_END_OF_FILE;
+        } else {
+            /* We matched some text prior to the EOB, first
+             * process it.
+             */
+            return EOB_ACT_LAST_MATCH;
+        }
+    }
 
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
+    /* Try to read more data. */
 
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+    /* First move last chars to start of buffer. */
+    number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
 
-                       int yy_c_buf_p_offset =
-                               (int) ((yy_c_buf_p) - b->yy_ch_buf);
+    for (i = 0; i < number_to_move; ++i)
+        *(dest++) = *(source++);
 
-                       if ( b->yy_is_our_buffer )
-                               {
-                               yy_size_t new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
+    if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING) {
+        /* don't do the read, it's not guaranteed to return an EOF,
+         * just force an EOF
+         */
+        YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+    } else {
+        yy_size_t num_to_read =
+                YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
+        while (num_to_read <= 0) {
+            /* Not enough room in the buffer - grow it. */
 
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
+            /* just a shorter name for the current buffer */
+            YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+            int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf);
 
-                       (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+            if ( b->yy_is_our_buffer ) {
+                yy_size_t new_size = b->yy_buf_size * 2;
 
-                       num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-                                               number_to_move - 1;
+                if ( new_size <= 0 )
+                    b->yy_buf_size += b->yy_buf_size / 8;
+                else
+                    b->yy_buf_size *= 2;
 
-                       }
+                b->yy_ch_buf = (char *)
+                /* Include room in for 2 EOB chars. */
+                yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
+            } else
+                /* Can't grow it, we don't own it. */
+                b->yy_ch_buf = 0;
 
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
+            if (! b->yy_ch_buf)
+                YY_FATAL_ERROR("fatal error - scanner input buffer overflow" );
 
-               /* Read in more data. */
-               YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-                       (yy_n_chars), num_to_read );
+            (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
 
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-               }
+            num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+                                number_to_move - 1;
 
-       if ( (yy_n_chars) == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart(yyin  );
-                       }
+        }
 
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
+        if ( num_to_read > YY_READ_BUF_SIZE )
+            num_to_read = YY_READ_BUF_SIZE;
 
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
+        /* Read in more data. */
+        YY_INPUT((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+                (yy_n_chars), num_to_read);
+        YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+    }
 
-       if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-               /* Extend the array by 50%, plus the number we really need. */
-               yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-               YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-               if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-                       YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-       }
+    if ((yy_n_chars) == 0) {
+        if (number_to_move == YY_MORE_ADJ) {
+            ret_val = EOB_ACT_END_OF_FILE;
+            yyrestart(yyin  );
+        } else {
+            ret_val = EOB_ACT_LAST_MATCH;
+            YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING;
+        }
+    } else
+        ret_val = EOB_ACT_CONTINUE_SCAN;
+
+    if ((yy_size_t) ((yy_n_chars) + number_to_move)
+                    > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+        /* Extend the array by 50%, plus the number we really need. */
+        yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *)
+                yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+        if (! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf)
+            YY_FATAL_ERROR("out of dynamic memory in yy_get_next_buffer()");
+    }
 
-       (yy_n_chars) += number_to_move;
-       YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-       YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+    (yy_n_chars) += number_to_move;
+    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
 
-       (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+    (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
 
-       return ret_val;
+    return ret_val;
 }
 
-/* yy_get_previous_state - get the state just before the EOB char was reached */
+/* yy_get_previous_state - get the state just before EOB char was reached */
 
-    static yy_state_type yy_get_previous_state (void)
+static yy_state_type yy_get_previous_state ()
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
+    yy_state_type yy_current_state;
+    char *yy_cp;
 
        yy_current_state = (yy_start);
        yy_current_state += YY_AT_BOL();
 
-       for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+    for (yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp) {
+
+               YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
                if ( yy_accept[yy_current_state] )
                        {
                        (yy_last_accepting_state) = yy_current_state;
@@ -2595,9 +2489,9 @@ static int yy_get_next_buffer (void)
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
+    }
 
-       return yy_current_state;
+    return yy_current_state;
 }
 
 /* yy_try_NUL_trans - try to make a transition on the NUL character
@@ -2605,12 +2499,14 @@ static int yy_get_next_buffer (void)
  * synopsis
  *     next_state = yy_try_NUL_trans( current_state );
  */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+
+static yy_state_type yy_try_NUL_trans (yy_current_state )
+        yy_state_type yy_current_state;
 {
-       register int yy_is_jam;
-       register char *yy_cp = (yy_c_buf_p);
+       int yy_is_jam;
+       char *yy_cp = (yy_c_buf_p);
 
-       register YY_CHAR yy_c = 1;
+       YY_CHAR yy_c = 1;
        if ( yy_accept[yy_current_state] )
                {
                (yy_last_accepting_state) = yy_current_state;
@@ -2628,9 +2524,13 @@ static int yy_get_next_buffer (void)
                return yy_is_jam ? 0 : yy_current_state;
 }
 
-    static void yyunput (int c, register char * yy_bp )
+#ifndef YY_NO_UNPUT
+
+static void yyunput (c,yy_bp )
+        int c;
+        char * yy_bp;
 {
-       register char *yy_cp;
+       char *yy_cp;
 
     yy_cp = (yy_c_buf_p);
 
@@ -2640,10 +2540,10 @@ static int yy_get_next_buffer (void)
        if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
                { /* need to shift things up to make room */
                /* +2 for EOB chars. */
-               register yy_size_t number_to_move = (yy_n_chars) + 2;
-               register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+               yy_size_t number_to_move = (yy_n_chars) + 2;
+               char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
                                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
-               register char *source =
+               char *source =
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
 
                while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
@@ -2665,13 +2565,10 @@ static int yy_get_next_buffer (void)
        (yy_c_buf_p) = yy_cp;
 }
 
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
 #endif
 
+#ifndef YY_NO_INPUT
+static int input ()
 {
        int c;
 
@@ -2717,11 +2614,7 @@ static int yy_get_next_buffer (void)
 
                                        if ( ! (yy_did_buffer_switch_on_eof) )
                                                YY_NEW_FILE;
-#ifdef __cplusplus
-                                       return yyinput();
-#else
                                        return input();
-#endif
                                        }
 
                                case EOB_ACT_CONTINUE_SCAN:
@@ -2731,7 +2624,7 @@ static int yy_get_next_buffer (void)
                        }
                }
 
-       c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
+       c = *(uchar *) (yy_c_buf_p);    /* cast for 8-bit char's */
        *(yy_c_buf_p) = '\0';   /* preserve yytext */
        (yy_hold_char) = *++(yy_c_buf_p);
 
@@ -2746,7 +2639,9 @@ static int yy_get_next_buffer (void)
  *
  * @note This function does not reset the start condition to @c INITIAL .
  */
-    void yyrestart  (FILE * input_file )
+
+void yyrestart (input_file )
+        FILE * input_file;
 {
 
        if ( ! YY_CURRENT_BUFFER ){
@@ -2763,14 +2658,15 @@ static int yy_get_next_buffer (void)
  * @param new_buffer The new input buffer.
  *
  */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+void yy_switch_to_buffer (new_buffer )
+        YY_BUFFER_STATE  new_buffer;
 {
 
        /* TODO. We should be able to replace this entire function body
         * with
         *              yypop_buffer_state();
         *              yypush_buffer_state(new_buffer);
-     */
+        */
        yyensure_buffer_stack ();
        if ( YY_CURRENT_BUFFER == new_buffer )
                return;
@@ -2794,7 +2690,7 @@ static int yy_get_next_buffer (void)
        (yy_did_buffer_switch_on_eof) = 1;
 }
 
-static void yy_load_buffer_state  (void)
+static void yy_load_buffer_state ()
 {
        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
        (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
@@ -2808,7 +2704,9 @@ static void yy_load_buffer_state  (void)
  *
  * @return the allocated buffer state.
  */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+YY_BUFFER_STATE yy_create_buffer (file,size )
+        FILE * file;
+        int  size;
 {
        YY_BUFFER_STATE b;
 
@@ -2816,7 +2714,7 @@ static void yy_load_buffer_state  (void)
        if ( ! b )
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
-       b->yy_buf_size = size;
+       b->yy_buf_size = (yy_size_t)size;
 
        /* yy_ch_buf has to be 2 characters longer than the size given because
         * we need to put in 2 end-of-buffer characters.
@@ -2836,7 +2734,8 @@ static void yy_load_buffer_state  (void)
  * @param b a buffer created with yy_create_buffer()
  *
  */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
+void yy_delete_buffer (b )
+        YY_BUFFER_STATE  b;
 {
 
        if ( ! b )
@@ -2855,8 +2754,9 @@ static void yy_load_buffer_state  (void)
  * This function is sometimes called more than once on the same buffer,
  * such as during a yyrestart() or at EOF.
  */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
+static void yy_init_buffer (b,file )
+        YY_BUFFER_STATE  b;
+        FILE * file;
 {
        int oerrno = errno;
 
@@ -2883,7 +2783,8 @@ static void yy_load_buffer_state  (void)
  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
  *
  */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
+void yy_flush_buffer (b )
+        YY_BUFFER_STATE  b;
 {
        if ( ! b )
                return;
@@ -2912,7 +2813,8 @@ static void yy_load_buffer_state  (void)
  *  @param new_buffer The new state.
  *
  */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+void yypush_buffer_state (new_buffer )
+        YY_BUFFER_STATE new_buffer;
 {
        if (new_buffer == NULL)
                return;
@@ -2942,7 +2844,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
  *  The next element becomes the new top.
  *
  */
-void yypop_buffer_state (void)
+void yypop_buffer_state ()
 {
        if (!YY_CURRENT_BUFFER)
                return;
@@ -2961,56 +2863,60 @@ void yypop_buffer_state (void)
 /* Allocates the stack if it does not exist.
  *  Guarantees space for at least one push.
  */
-static void yyensure_buffer_stack (void)
+static void yyensure_buffer_stack ()
 {
-       yy_size_t num_to_alloc;
+    yy_size_t num_to_alloc;
 
-       if (!(yy_buffer_stack)) {
-
-               /* First allocation is just for 2 elements, since we don't know if this
-                * scanner will even need a stack. We use 2 instead of 1 to avoid an
-                * immediate realloc on the next call.
+    if (!(yy_buffer_stack)) {
+        /* First allocation is just for 2 elements, since we don't know if this
+         * scanner will even need a stack. We use 2 instead of 1 to avoid an
+         * immediate realloc on the next call.
          */
-               num_to_alloc = 1;
-               (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-                                                               (num_to_alloc * sizeof(struct yy_buffer_state*)
-                                                               );
-               if ( ! (yy_buffer_stack) )
-                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-                                                               
-               memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-                               
-               (yy_buffer_stack_max) = num_to_alloc;
-               (yy_buffer_stack_top) = 0;
-               return;
-       }
+#if 1   /* [PR] avoid C++-style comment; older C compilers choke on it */
+        num_to_alloc = 2; /* also changed to match the comment... */
+#else
+        num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
+#endif
+        (yy_buffer_stack) = (struct yy_buffer_state**)
+                yyalloc(num_to_alloc * sizeof(struct yy_buffer_state*) );
+        if (!(yy_buffer_stack))
+            YY_FATAL_ERROR("out of dynamic memory in yyensure_buffer_stack()");
 
-       if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+        (void) memset((yy_buffer_stack), 0,
+                      num_to_alloc * sizeof(struct yy_buffer_state*));
 
-               /* Increase the buffer to prepare for a possible push. */
-               int grow_size = 8 /* arbitrary grow size */;
+        (yy_buffer_stack_max) = num_to_alloc;
+        (yy_buffer_stack_top) = 0;
+        return;
+    }
 
-               num_to_alloc = (yy_buffer_stack_max) + grow_size;
-               (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-                                                               ((yy_buffer_stack),
-                                                               num_to_alloc * sizeof(struct yy_buffer_state*)
-                                                               );
-               if ( ! (yy_buffer_stack) )
-                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+    if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1) {
+        /* Increase the buffer to prepare for a possible push. */
+        yy_size_t grow_size = 8 /* arbitrary grow size */;
 
-               /* zero only the new slots.*/
-               memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-               (yy_buffer_stack_max) = num_to_alloc;
-       }
+        num_to_alloc = (yy_buffer_stack_max) + grow_size;
+        (yy_buffer_stack) = (struct yy_buffer_state**)
+                yyrealloc((yy_buffer_stack),num_to_alloc * sizeof(struct yy_buffer_state*) );
+        if (!(yy_buffer_stack))
+            YY_FATAL_ERROR("out of dynamic memory in yyensure_buffer_stack()");
+
+        /* zero only the new slots.*/
+        (void) memset((yy_buffer_stack) + (yy_buffer_stack_max), 0,
+                      grow_size * sizeof(struct yy_buffer_state*));
+        (yy_buffer_stack_max) = num_to_alloc;
+    }
 }
 
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
+/** Setup the input buffer state to scan directly from a user-specified
+ * character buffer.
  * @param base the character buffer
  * @param size the size in bytes of the character buffer
  *
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+YY_BUFFER_STATE yy_scan_buffer (base,size )
+        char * base;
+        yy_size_t  size;
 {
        YY_BUFFER_STATE b;
 
@@ -3039,33 +2945,37 @@ YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
        return b;
 }
 
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
+/** Setup the input buffer state to scan a string. The next call to yylex()
+ * will scan from a @e copy of @a str.
  * @param yystr a NUL-terminated string to scan
  *
  * @return the newly allocated buffer state object.
  * @note If you want to scan bytes that may contain NUL values, then use
  *       yy_scan_bytes() instead.
  */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+YY_BUFFER_STATE yy_scan_string (yystr )
+        yyconst char * yystr;
 {
 
        return yy_scan_bytes(yystr,strlen(yystr) );
 }
 
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
+/** Setup the input buffer state to scan the given bytes. The next call to
+ * yylex() will scan from a @e copy of @a bytes.
  * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a
+ * bytes.
  *
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes (yybytes,_yybytes_len )
+        yyconst char * yybytes;
+        yy_size_t  _yybytes_len;
 {
        YY_BUFFER_STATE b;
        char *buf;
        yy_size_t n;
-       int i;
+       yy_size_t i;
 
        /* Get memory for full buffer, including space for trailing EOB's. */
        n = _yybytes_len + 2;
@@ -3094,9 +3004,10 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len
 #define YY_EXIT_FAILURE 2
 #endif
 
-static void yy_fatal_error (yyconst char* msg )
+static void yy_fatal_error (msg )
+        yyconst char* msg;
 {
-       (void) fprintf( stderr, "%s\n", msg );
+                       (void) fprintf( stderr, "%s\n", msg );
        exit( YY_EXIT_FAILURE );
 }
 
@@ -3104,25 +3015,23 @@ static void yy_fatal_error (yyconst char* msg )
 
 #undef yyless
 #define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
+    do { \
+       /* Undo effects of setting up yytext. */ \
         int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-               yytext[yyleng] = (yy_hold_char); \
-               (yy_c_buf_p) = yytext + yyless_macro_arg; \
-               (yy_hold_char) = *(yy_c_buf_p); \
-               *(yy_c_buf_p) = '\0'; \
-               yyleng = yyless_macro_arg; \
-               } \
-       while ( 0 )
+        YY_LESS_LINENO(yyless_macro_arg); \
+       yytext[yyleng] = (yy_hold_char); \
+       (yy_c_buf_p) = yytext + yyless_macro_arg; \
+       (yy_hold_char) = *(yy_c_buf_p); \
+       *(yy_c_buf_p) = '\0'; \
+       yyleng = yyless_macro_arg; \
+    } while ( 0 )
 
 /* Accessor  methods (get/set functions) to struct members. */
 
 /** Get the current line number.
  *
  */
-int yyget_lineno  (void)
+int yyget_lineno ()
 {
 
     return yylineno;
@@ -3131,7 +3040,7 @@ int yyget_lineno  (void)
 /** Get the input stream.
  *
  */
-FILE *yyget_in  (void)
+FILE *yyget_in ()
 {
         return yyin;
 }
@@ -3139,7 +3048,7 @@ FILE *yyget_in  (void)
 /** Get the output stream.
  *
  */
-FILE *yyget_out  (void)
+FILE *yyget_out ()
 {
         return yyout;
 }
@@ -3147,7 +3056,7 @@ FILE *yyget_out  (void)
 /** Get the length of the current token.
  *
  */
-yy_size_t yyget_leng  (void)
+yy_size_t yyget_leng ()
 {
         return yyleng;
 }
@@ -3156,48 +3065,52 @@ yy_size_t yyget_leng  (void)
  *
  */
 
-char *yyget_text  (void)
+char *yyget_text ()
 {
         return yytext;
 }
 
 /** Set the current line number.
- * @param line_number
+ * @param _line_number line number
  *
  */
-void yyset_lineno (int  line_number )
+void yyset_lineno (_line_number )
+        int  _line_number;
 {
 
-    yylineno = line_number;
+    yylineno = _line_number;
 }
 
 /** Set the input stream. This does not discard the current
  * input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
  *
  * @see yy_switch_to_buffer
  */
-void yyset_in (FILE *  in_str )
+void yyset_in (_in_str )
+        FILE *  _in_str;
 {
-        yyin = in_str ;
+        yyin = _in_str ;
 }
 
-void yyset_out (FILE *  out_str )
+void yyset_out (_out_str )
+        FILE *  _out_str;
 {
-        yyout = out_str ;
+        yyout = _out_str ;
 }
 
-int yyget_debug  (void)
+int yyget_debug ()
 {
         return yy_flex_debug;
 }
 
-void yyset_debug (int  bdebug )
+void yyset_debug (_bdebug )
+        int  _bdebug;
 {
-        yy_flex_debug = bdebug ;
+        yy_flex_debug = _bdebug ;
 }
 
-static int yy_init_globals (void)
+static int yy_init_globals ()
 {
         /* Initialization is the same as for the non-reentrant scanner.
      * This function is called from yylex_destroy(), so don't allocate here.
@@ -3226,22 +3139,21 @@ static int yy_init_globals (void)
 }
 
 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
+int yylex_destroy ()
 {
 
     /* Pop the buffer stack, destroying each element. */
-       while(YY_CURRENT_BUFFER){
-               yy_delete_buffer(YY_CURRENT_BUFFER  );
-               YY_CURRENT_BUFFER_LVALUE = NULL;
-               yypop_buffer_state();
-       }
-
-       /* Destroy the stack itself. */
-       yyfree((yy_buffer_stack) );
-       (yy_buffer_stack) = NULL;
+    while (YY_CURRENT_BUFFER) {
+        yy_delete_buffer(YY_CURRENT_BUFFER  );
+        YY_CURRENT_BUFFER_LVALUE = NULL;
+        yypop_buffer_state();
+    }
+    /* Destroy the stack itself. */
+    yyfree((yy_buffer_stack) );
+    (yy_buffer_stack) = NULL;
 
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
+    /* Reset the globals. This is important in a non-reentrant scanner
+     * so the next time yylex() is called, initialization will occur. */
     yy_init_globals( );
 
     return 0;
@@ -3252,18 +3164,23 @@ int yylex_destroy  (void)
  */
 
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+static void yy_flex_strncpy (s1,s2,n )
+        char* s1;
+        yyconst char * s2;
+        int n;
 {
-       register int i;
+               
+       int i;
        for ( i = 0; i < n; ++i )
                s1[i] = s2[i];
 }
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
+static int yy_flex_strlen (s )
+        yyconst char * s;
 {
-       register int n;
+       int n;
        for ( n = 0; s[n]; ++n )
                ;
 
@@ -3271,13 +3188,18 @@ static int yy_flex_strlen (yyconst char * s )
 }
 #endif
 
-void *yyalloc (yy_size_t  size )
+void *yyalloc (size )
+        yy_size_t  size;
 {
+               
        return (void *) malloc( size );
 }
 
-void *yyrealloc  (void * ptr, yy_size_t  size )
+void *yyrealloc (ptr,size )
+        void * ptr;
+        yy_size_t  size;
 {
+               
        /* The cast to (char *) in the following accommodates both
         * implementations that use char* generic pointers, and those
         * that use void* generic pointers.  It works with the latter
@@ -3288,13 +3210,13 @@ void *yyrealloc  (void * ptr, yy_size_t  size )
        return (void *) realloc( (char *) ptr, size );
 }
 
-void yyfree (void * ptr )
+void yyfree (ptr )
+        void * ptr;
 {
+               
        free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
 }
 
-#define YYTABLES_NAME "yytables"
-
 #ifdef AMIGA
 long *
 alloc(n)