Fix not to print warnings of use of backslashes in parser.
authorTatsuo Ishii <ishii@sraoss.co.jp>
Thu, 24 Nov 2022 06:31:48 +0000 (15:31 +0900)
committerTatsuo Ishii <ishii@sraoss.co.jp>
Thu, 24 Nov 2022 08:22:26 +0000 (17:22 +0900)
When standard_conforming_strings = off and escape_string_warning = on,
PostgreSQL prints warnings if backslashes are used in string
literal. This is fine. But previously Pgpool-II's parser printed the
same message too. This is redundant.

src/parser/scan.c
src/parser/scan.l

index da8a5edf632beadfc54c54a659b481ce07e7baa3..cccdc6495f04c2135de5b1d9e17854190256c699 100644 (file)
@@ -1,5 +1,4 @@
 #line 2 "scan.c"
-#line 2 "scan.l"
 /*-------------------------------------------------------------------------
  *
  * scan.l
@@ -48,9 +47,7 @@
 #include "utils/palloc.h"
 #include "utils/elog.h"
 
-
-
-#line 54 "scan.c"
+#line 51 "scan.c"
 
 #define  YY_INT_ALIGNED short int
 
 
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 37
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 4
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
 
+#ifdef yy_create_buffer
+#define core_yy_create_buffer_ALREADY_DEFINED
+#else
+#define yy_create_buffer core_yy_create_buffer
+#endif
+
+#ifdef yy_delete_buffer
+#define core_yy_delete_buffer_ALREADY_DEFINED
+#else
+#define yy_delete_buffer core_yy_delete_buffer
+#endif
+
+#ifdef yy_scan_buffer
+#define core_yy_scan_buffer_ALREADY_DEFINED
+#else
+#define yy_scan_buffer core_yy_scan_buffer
+#endif
+
+#ifdef yy_scan_string
+#define core_yy_scan_string_ALREADY_DEFINED
+#else
+#define yy_scan_string core_yy_scan_string
+#endif
+
+#ifdef yy_scan_bytes
+#define core_yy_scan_bytes_ALREADY_DEFINED
+#else
+#define yy_scan_bytes core_yy_scan_bytes
+#endif
+
+#ifdef yy_init_buffer
+#define core_yy_init_buffer_ALREADY_DEFINED
+#else
+#define yy_init_buffer core_yy_init_buffer
+#endif
+
+#ifdef yy_flush_buffer
+#define core_yy_flush_buffer_ALREADY_DEFINED
+#else
+#define yy_flush_buffer core_yy_flush_buffer
+#endif
+
+#ifdef yy_load_buffer_state
+#define core_yy_load_buffer_state_ALREADY_DEFINED
+#else
+#define yy_load_buffer_state core_yy_load_buffer_state
+#endif
+
+#ifdef yy_switch_to_buffer
+#define core_yy_switch_to_buffer_ALREADY_DEFINED
+#else
+#define yy_switch_to_buffer core_yy_switch_to_buffer
+#endif
+
+#ifdef yypush_buffer_state
+#define core_yypush_buffer_state_ALREADY_DEFINED
+#else
+#define yypush_buffer_state core_yypush_buffer_state
+#endif
+
+#ifdef yypop_buffer_state
+#define core_yypop_buffer_state_ALREADY_DEFINED
+#else
+#define yypop_buffer_state core_yypop_buffer_state
+#endif
+
+#ifdef yyensure_buffer_stack
+#define core_yyensure_buffer_stack_ALREADY_DEFINED
+#else
+#define yyensure_buffer_stack core_yyensure_buffer_stack
+#endif
+
+#ifdef yylex
+#define core_yylex_ALREADY_DEFINED
+#else
+#define yylex core_yylex
+#endif
+
+#ifdef yyrestart
+#define core_yyrestart_ALREADY_DEFINED
+#else
+#define yyrestart core_yyrestart
+#endif
+
+#ifdef yylex_init
+#define core_yylex_init_ALREADY_DEFINED
+#else
+#define yylex_init core_yylex_init
+#endif
+
+#ifdef yylex_init_extra
+#define core_yylex_init_extra_ALREADY_DEFINED
+#else
+#define yylex_init_extra core_yylex_init_extra
+#endif
+
+#ifdef yylex_destroy
+#define core_yylex_destroy_ALREADY_DEFINED
+#else
+#define yylex_destroy core_yylex_destroy
+#endif
+
+#ifdef yyget_debug
+#define core_yyget_debug_ALREADY_DEFINED
+#else
+#define yyget_debug core_yyget_debug
+#endif
+
+#ifdef yyset_debug
+#define core_yyset_debug_ALREADY_DEFINED
+#else
+#define yyset_debug core_yyset_debug
+#endif
+
+#ifdef yyget_extra
+#define core_yyget_extra_ALREADY_DEFINED
+#else
+#define yyget_extra core_yyget_extra
+#endif
+
+#ifdef yyset_extra
+#define core_yyset_extra_ALREADY_DEFINED
+#else
+#define yyset_extra core_yyset_extra
+#endif
+
+#ifdef yyget_in
+#define core_yyget_in_ALREADY_DEFINED
+#else
+#define yyget_in core_yyget_in
+#endif
+
+#ifdef yyset_in
+#define core_yyset_in_ALREADY_DEFINED
+#else
+#define yyset_in core_yyset_in
+#endif
+
+#ifdef yyget_out
+#define core_yyget_out_ALREADY_DEFINED
+#else
+#define yyget_out core_yyget_out
+#endif
+
+#ifdef yyset_out
+#define core_yyset_out_ALREADY_DEFINED
+#else
+#define yyset_out core_yyset_out
+#endif
+
+#ifdef yyget_leng
+#define core_yyget_leng_ALREADY_DEFINED
+#else
+#define yyget_leng core_yyget_leng
+#endif
+
+#ifdef yyget_text
+#define core_yyget_text_ALREADY_DEFINED
+#else
+#define yyget_text core_yyget_text
+#endif
+
+#ifdef yyget_lineno
+#define core_yyget_lineno_ALREADY_DEFINED
+#else
+#define yyget_lineno core_yyget_lineno
+#endif
+
+#ifdef yyset_lineno
+#define core_yyset_lineno_ALREADY_DEFINED
+#else
+#define yyset_lineno core_yyset_lineno
+#endif
+
+#ifdef yyget_column
+#define core_yyget_column_ALREADY_DEFINED
+#else
+#define yyget_column core_yyget_column
+#endif
+
+#ifdef yyset_column
+#define core_yyset_column_ALREADY_DEFINED
+#else
+#define yyset_column core_yyset_column
+#endif
+
+#ifdef yywrap
+#define core_yywrap_ALREADY_DEFINED
+#else
+#define yywrap core_yywrap
+#endif
+
+#ifdef yyget_lval
+#define core_yyget_lval_ALREADY_DEFINED
+#else
+#define yyget_lval core_yyget_lval
+#endif
+
+#ifdef yyset_lval
+#define core_yyset_lval_ALREADY_DEFINED
+#else
+#define yyset_lval core_yyset_lval
+#endif
+
+#ifdef yyget_lloc
+#define core_yyget_lloc_ALREADY_DEFINED
+#else
+#define yyget_lloc core_yyget_lloc
+#endif
+
+#ifdef yyset_lloc
+#define core_yyset_lloc_ALREADY_DEFINED
+#else
+#define yyset_lloc core_yyset_lloc
+#endif
+
+#ifdef yyalloc
+#define core_yyalloc_ALREADY_DEFINED
+#else
+#define yyalloc core_yyalloc
+#endif
+
+#ifdef yyrealloc
+#define core_yyrealloc_ALREADY_DEFINED
+#else
+#define yyrealloc core_yyrealloc
+#endif
+
+#ifdef yyfree
+#define core_yyfree_ALREADY_DEFINED
+#else
+#define yyfree core_yyfree
+#endif
+
 /* First, we deal with  platform-specific or compiler-specific issues. */
 
 /* begin standard C headers. */
@@ -134,40 +365,32 @@ typedef unsigned int flex_uint32_t;
 #define UINT32_MAX             (4294967295U)
 #endif
 
+#ifndef SIZE_MAX
+#define SIZE_MAX               (~(size_t)0)
+#endif
+
 #endif /* ! C99 */
 
 #endif /* ! FLEXINT_H */
 
-#ifdef __cplusplus
+/* begin standard C++ headers. */
 
-/* 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
+/* TODO: this is always defined, so inline it */
 #define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
 #else
-#define yyconst
+#define yynoreturn
 #endif
 
 /* Returned upon end-of-file. */
 #define YY_NULL 0
 
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
+/* Promotes a possibly negative, possibly signed char to an
+ *   integer in range [0..255] for use as an array index.
  */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
 
 /* An opaque pointer. */
 #ifndef YY_TYPEDEF_YY_SCANNER_T
@@ -191,25 +414,29 @@ typedef void* yyscan_t;
  * definition of BEGIN.
  */
 #define BEGIN yyg->yy_start = 1 + 2 *
-
 /* Translate the current start state into a value that can be later handed
  * to BEGIN to return to the state.  The YYSTATE alias is for lex
  * compatibility.
  */
 #define YY_START ((yyg->yy_start - 1) / 2)
 #define YYSTATE YY_START
-
 /* Action number for EOF rule of a given start state. */
 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
 /* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE core_yyrestart(yyin ,yyscanner )
-
+#define YY_NEW_FILE yyrestart( yyin , yyscanner )
 #define YY_END_OF_BUFFER_CHAR 0
 
 /* 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.
@@ -229,8 +456,9 @@ typedef size_t yy_size_t;
 #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_LINENO_REWIND_TO(ptr)
     
 /* Return all but the first "n" matched characters back to the input stream. */
 #define yyless(n) \
@@ -245,7 +473,6 @@ typedef size_t yy_size_t;
                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
                } \
        while ( 0 )
-
 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
 
 #ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -260,12 +487,12 @@ struct yy_buffer_state
        /* Size of input buffer in bytes, not including room for EOB
         * characters.
         */
-       yy_size_t yy_buf_size;
+       int yy_buf_size;
 
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
-       yy_size_t yy_n_chars;
+       int yy_n_chars;
 
        /* Whether we "own" the buffer - i.e., we know we created it,
         * and can realloc() it to grow it, and should free() it to
@@ -288,7 +515,7 @@ struct yy_buffer_state
 
     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.
         */
@@ -305,7 +532,7 @@ struct yy_buffer_state
         * possible backing-up.
         *
         * When we actually see the EOF, we change the status to "new"
-        * (via core_yyrestart()), so that the user can continue scanning by
+        * (via yyrestart()), so that the user can continue scanning by
         * just pointing yyin at a new input file.
         */
 #define YY_BUFFER_EOF_PENDING 2
@@ -322,84 +549,77 @@ struct yy_buffer_state
 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
                           ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
                           : NULL)
-
 /* Same as previous macro, but useful when we know that the buffer stack is not
  * NULL or when we need an lvalue. For internal use only.
  */
 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
 
-void core_yyrestart (FILE *input_file ,yyscan_t yyscanner );
-void core_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
-YY_BUFFER_STATE core_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
-void core_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
-void core_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
-void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
-void core_yypop_buffer_state (yyscan_t yyscanner );
-
-static void core_yyensure_buffer_stack (yyscan_t yyscanner );
-static void core_yy_load_buffer_state (yyscan_t yyscanner );
-static void core_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
-
-#define YY_FLUSH_BUFFER core_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
+void yyrestart ( FILE *input_file , yyscan_t yyscanner );
+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
+void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
+void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
+void yypop_buffer_state ( yyscan_t yyscanner );
 
-YY_BUFFER_STATE core_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
-YY_BUFFER_STATE core_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
-YY_BUFFER_STATE core_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
+static void yyensure_buffer_stack ( yyscan_t yyscanner );
+static void yy_load_buffer_state ( yyscan_t yyscanner );
+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
 
-void *core_yyalloc (yy_size_t ,yyscan_t yyscanner );
-void *core_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
-void core_yyfree (void * ,yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
 
-#define yy_new_buffer core_yy_create_buffer
+void *yyalloc ( yy_size_t , yyscan_t yyscanner );
+void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
+void yyfree ( void * , yyscan_t yyscanner );
 
+#define yy_new_buffer yy_create_buffer
 #define yy_set_interactive(is_interactive) \
        { \
        if ( ! YY_CURRENT_BUFFER ){ \
-        core_yyensure_buffer_stack (yyscanner); \
+        yyensure_buffer_stack (yyscanner); \
                YY_CURRENT_BUFFER_LVALUE =    \
-            core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
+            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
        } \
        YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
        }
-
 #define yy_set_bol(at_bol) \
        { \
        if ( ! YY_CURRENT_BUFFER ){\
-        core_yyensure_buffer_stack (yyscanner); \
+        yyensure_buffer_stack (yyscanner); \
                YY_CURRENT_BUFFER_LVALUE =    \
-            core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
+            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
        } \
        YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
        }
-
 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
 
 /* Begin user sect3 */
 
-#define core_yywrap(yyscanner) 1
+#define core_yywrap(yyscanner) (/*CONSTCOND*/1)
 #define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
+typedef flex_uint8_t YY_CHAR;
 
 typedef int yy_state_type;
 
 #define yytext_ptr yytext_r
 
-static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
-static int yy_get_next_buffer (yyscan_t yyscanner );
-static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
+static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  , yyscan_t yyscanner);
+static int yy_get_next_buffer ( yyscan_t yyscanner );
+static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
 
 /* Done after the current pattern has been matched and before the
  * corresponding action - sets up yytext.
  */
 #define YY_DO_BEFORE_ACTION \
        yyg->yytext_ptr = yy_bp; \
-       yyleng = (size_t) (yy_cp - yy_bp); \
+       yyleng = (int) (yy_cp - yy_bp); \
        yyg->yy_hold_char = *yy_cp; \
        *yy_cp = '\0'; \
        yyg->yy_c_buf_p = yy_cp;
-
 #define YY_NUM_RULES 67
 #define YY_END_OF_BUFFER 68
 /* This struct is not used in this scanner,
@@ -409,7 +629,7 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[184] =
+static const flex_int16_t yy_accept[184] =
     {   0,
         0,    0,   10,   10,    0,    0,    0,    0,    9,    9,
         0,    0,   18,   18,    0,    0,    0,    0,    0,    0,
@@ -433,7 +653,7 @@ static yyconst flex_int16_t yy_accept[184] =
        27,   27,    0
     } ;
 
-static yyconst flex_int32_t yy_ec[256] =
+static const YY_CHAR yy_ec[256] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
         1,    2,    4,    1,    1,    1,    1,    1,    1,    1,
@@ -465,7 +685,7 @@ static yyconst flex_int32_t yy_ec[256] =
        27,   27,   27,   27,   27
     } ;
 
-static yyconst flex_int32_t yy_meta[34] =
+static const YY_CHAR yy_meta[34] =
     {   0,
         1,    2,    3,    3,    4,    5,    4,    6,    4,    4,
         7,    1,    8,    4,    9,   10,    8,   11,   11,    1,
@@ -473,7 +693,7 @@ static yyconst flex_int32_t yy_meta[34] =
        14,   13,   13
     } ;
 
-static yyconst flex_int16_t yy_base[241] =
+static const flex_int16_t yy_base[241] =
     {   0,
         0,    0,  603,  602,   29,   48,  606,  605,  599,  598,
       554,  548,   45,   64,   53,   69,   32,   51,  535,  519,
@@ -503,7 +723,7 @@ static yyconst flex_int16_t yy_base[241] =
       462,  510,  512,  521,  523,  546,  552,  572,  574,  596
     } ;
 
-static yyconst flex_int16_t yy_def[241] =
+static const flex_int16_t yy_def[241] =
     {   0,
       183,    1,  184,  184,  185,  185,  186,  186,  187,  187,
       188,  188,  189,  189,  190,  190,  191,  191,  186,  186,
@@ -533,7 +753,7 @@ static yyconst flex_int16_t yy_def[241] =
       183,  183,  183,  183,  183,  183,  183,  183,  183,  183
     } ;
 
-static yyconst flex_int16_t yy_nxt[649] =
+static const flex_int16_t yy_nxt[649] =
     {   0,
        26,   27,   28,   27,   29,   30,   31,   32,   33,   31,
        34,   35,   33,   33,   36,   37,   38,   39,   39,   40,
@@ -608,7 +828,7 @@ static yyconst flex_int16_t yy_nxt[649] =
       183,  183,  183,  183,  183,  183,  183,  183
     } ;
 
-static yyconst flex_int16_t yy_chk[649] =
+static const flex_int16_t yy_chk[649] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -711,6 +931,9 @@ fprintf_to_ereport(const char *fmt, const char *msg)
  * head of gram.y, ie flex/bison code must not depend on any GUC variables;
  * as such, changing their values can induce very unintuitive behavior.
  * But we shall have to live with it until we can remove these variables.
+ *
+ * standard_conforming_strings is overridden by parser_set_param()
+ * while connecting to backend by receiving parameter status message.
  */
 int                    backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING;
 bool           escape_string_warning = true;
@@ -743,7 +966,7 @@ const uint16 ScanKeywordTokens[] = {
 #define YY_EXTRA_TYPE core_yy_extra_type *
 
 /*
- * Each call to core_yylex must set yylloc to the location of the found token
+ * Each call to yylex must set yylloc to the location of the found token
  * (expressed as a byte offset from the start of the input text).
  * When we parse a token that requires multiple lexer rules to process,
  * this should be done in the first such rule, else yylloc will point
@@ -792,6 +1015,7 @@ static void check_escape_warning(core_yyscan_t yyscanner);
 extern int     core_yyget_column(yyscan_t yyscanner);
 extern void core_yyset_column(int column_no, yyscan_t yyscanner);
 
+#line 1019 "scan.c"
 #define YY_NO_INPUT 1
 /*
  * OK, here is a short description of lex/flex rules behavior.
@@ -820,16 +1044,6 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
  * The default one is probably not the right thing.
  */
 
-
-
-
-
-
-
-
-
-
-
 /*
  * In order to make the world safe for Windows and Mac clients as well as
  * Unix ones, we accept either \n or \r as a newline.  A DOS-style \r\n
@@ -951,7 +1165,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
  * Note that xcstart must appear before operator, as explained above!
  *  Also whitespace (comment) must appear before operator.
  */
-#line 955 "scan.c"
+#line 1169 "scan.c"
 
 #define INITIAL 0
 #define xb 1
@@ -991,8 +1205,8 @@ struct yyguts_t
     size_t yy_buffer_stack_max; /**< capacity of stack. */
     YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
     char yy_hold_char;
-    yy_size_t yy_n_chars;
-    yy_size_t yyleng_r;
+    int yy_n_chars;
+    int yyleng_r;
     char *yy_c_buf_p;
     int yy_init;
     int yy_start;
@@ -1016,7 +1230,7 @@ struct yyguts_t
 
     }; /* end struct yyguts_t */
 
-static int yy_init_globals (yyscan_t yyscanner );
+static int yy_init_globals ( yyscan_t yyscanner );
 
     /* This must go here because YYSTYPE and YYLTYPE are included
      * from bison output in section 1.*/
@@ -1024,50 +1238,50 @@ static int yy_init_globals (yyscan_t yyscanner );
     
     #    define yylloc yyg->yylloc_r
     
-int core_yylex_init (yyscan_t* scanner);
+int yylex_init (yyscan_t* scanner);
 
-int core_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
+int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
 
 /* Accessor methods to globals.
    These are made visible to non-reentrant scanners for convenience. */
 
-int core_yylex_destroy (yyscan_t yyscanner );
+int yylex_destroy ( yyscan_t yyscanner );
 
-int core_yyget_debug (yyscan_t yyscanner );
+int yyget_debug ( yyscan_t yyscanner );
 
-void core_yyset_debug (int debug_flag ,yyscan_t yyscanner );
+void yyset_debug ( int debug_flag , yyscan_t yyscanner );
 
-YY_EXTRA_TYPE core_yyget_extra (yyscan_t yyscanner );
+YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
 
-void core_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
+void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
 
-FILE *core_yyget_in (yyscan_t yyscanner );
+FILE *yyget_in ( yyscan_t yyscanner );
 
-void core_yyset_in  (FILE * in_str ,yyscan_t yyscanner );
+void yyset_in  ( FILE * _in_str , yyscan_t yyscanner );
 
-FILE *core_yyget_out (yyscan_t yyscanner );
+FILE *yyget_out ( yyscan_t yyscanner );
 
-void core_yyset_out  (FILE * out_str ,yyscan_t yyscanner );
+void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
 
-yy_size_t core_yyget_leng (yyscan_t yyscanner );
+                       int yyget_leng ( yyscan_t yyscanner );
 
-char *core_yyget_text (yyscan_t yyscanner );
+char *yyget_text ( yyscan_t yyscanner );
 
-int core_yyget_lineno (yyscan_t yyscanner );
+int yyget_lineno ( yyscan_t yyscanner );
 
-void core_yyset_lineno (int line_number ,yyscan_t yyscanner );
+void yyset_lineno ( int _line_number , yyscan_t yyscanner );
 
-int core_yyget_column  (yyscan_t yyscanner );
+int yyget_column  ( yyscan_t yyscanner );
 
-void core_yyset_column (int column_no ,yyscan_t yyscanner );
+void yyset_column ( int _column_no , yyscan_t yyscanner );
 
-YYSTYPE * core_yyget_lval (yyscan_t yyscanner );
+YYSTYPE * yyget_lval ( yyscan_t yyscanner );
 
-void core_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
+void yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
 
-       YYLTYPE *core_yyget_lloc (yyscan_t yyscanner );
+       YYLTYPE *yyget_lloc ( yyscan_t yyscanner );
     
-        void core_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
+        void yyset_lloc ( YYLTYPE * yylloc_param , yyscan_t yyscanner );
     
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1075,33 +1289,41 @@ void core_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
 
 #ifndef YY_SKIP_YYWRAP
 #ifdef __cplusplus
-extern "C" int core_yywrap (yyscan_t yyscanner );
+extern "C" int yywrap ( yyscan_t yyscanner );
 #else
-extern int core_yywrap (yyscan_t yyscanner );
+extern int yywrap ( yyscan_t yyscanner );
+#endif
 #endif
+
+#ifndef YY_NO_UNPUT
+    
 #endif
 
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
+static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
+static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
 #endif
 
 #ifndef YY_NO_INPUT
-
 #ifdef __cplusplus
-static int yyinput (yyscan_t yyscanner );
+static int yyinput ( yyscan_t yyscanner );
 #else
-static int input (yyscan_t yyscanner );
+static int input ( yyscan_t yyscanner );
 #endif
 
 #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. */
@@ -1109,7 +1331,7 @@ static int input (yyscan_t yyscanner );
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
@@ -1120,7 +1342,7 @@ static int input (yyscan_t yyscanner );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               size_t n; \
+               int n; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -1133,7 +1355,7 @@ static int input (yyscan_t yyscanner );
        else \
                { \
                errno=0; \
-               while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+               while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
                        { \
                        if( errno != EINTR) \
                                { \
@@ -1174,10 +1396,10 @@ static int input (yyscan_t yyscanner );
 #ifndef YY_DECL
 #define YY_DECL_IS_OURS 1
 
-extern int core_yylex \
-               (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
+extern int yylex \
+               (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner);
 
-#define YY_DECL int core_yylex \
+#define YY_DECL int yylex \
                (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
 #endif /* !YY_DECL */
 
@@ -1190,7 +1412,7 @@ extern int core_yylex \
 
 /* 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 \
@@ -1200,16 +1422,11 @@ extern int core_yylex \
  */
 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;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
-#line 428 "scan.l"
-
-
-#line 1212 "scan.c"
-
     yylval = yylval_param;
 
     yylloc = yylloc_param;
@@ -1232,15 +1449,21 @@ YY_DECL
                        yyout = stdout;
 
                if ( ! YY_CURRENT_BUFFER ) {
-                       core_yyensure_buffer_stack (yyscanner);
+                       yyensure_buffer_stack (yyscanner);
                        YY_CURRENT_BUFFER_LVALUE =
-                               core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
+                               yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
                }
 
-               core_yy_load_buffer_state(yyscanner );
+               yy_load_buffer_state( yyscanner );
                }
 
-       while ( 1 )             /* loops until end-of-file is reached */
+       {
+#line 431 "scan.l"
+
+
+#line 1465 "scan.c"
+
+       while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
                yy_cp = yyg->yy_c_buf_p;
 
@@ -1256,7 +1479,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] )
                                {
                                yyg->yy_last_accepting_state = yy_current_state;
@@ -1266,9 +1489,9 @@ yy_match:
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
                                if ( yy_current_state >= 184 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
+                                       yy_c = yy_meta[yy_c];
                                }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+                       yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        ++yy_cp;
                        }
                while ( yy_current_state != 183 );
@@ -1294,14 +1517,14 @@ do_action:      /* This label is used only to access EOF actions. */
 case 1:
 /* rule 1 can match eol */
 YY_RULE_SETUP
-#line 430 "scan.l"
+#line 433 "scan.l"
 {
                                        /* ignore */
                                }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 434 "scan.l"
+#line 437 "scan.l"
 {
                                        /* Set location in case of syntax error in comment */
                                        SET_YYLLOC();
@@ -1314,7 +1537,7 @@ YY_RULE_SETUP
 
 case 3:
 YY_RULE_SETUP
-#line 444 "scan.l"
+#line 447 "scan.l"
 {
                                        (yyextra->xcdepth)++;
                                        /* Put back any characters past slash-star; see above */
@@ -1323,7 +1546,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 450 "scan.l"
+#line 453 "scan.l"
 {
                                        if (yyextra->xcdepth <= 0)
                                                BEGIN(INITIAL);
@@ -1334,27 +1557,27 @@ YY_RULE_SETUP
 case 5:
 /* rule 5 can match eol */
 YY_RULE_SETUP
-#line 457 "scan.l"
+#line 460 "scan.l"
 {
                                        /* ignore */
                                }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 461 "scan.l"
+#line 464 "scan.l"
 {
                                        /* ignore */
                                }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 465 "scan.l"
+#line 468 "scan.l"
 {
                                        /* ignore */
                                }
        YY_BREAK
 case YY_STATE_EOF(xc):
-#line 469 "scan.l"
+#line 472 "scan.l"
 {
                                        yyerror("unterminated /* comment");
                                }
@@ -1362,7 +1585,7 @@ case YY_STATE_EOF(xc):
 /* <xc> */
 case 8:
 YY_RULE_SETUP
-#line 474 "scan.l"
+#line 477 "scan.l"
 {
                                        /* Binary bit type.
                                         * At some point we should simply pass the string
@@ -1378,22 +1601,22 @@ YY_RULE_SETUP
        YY_BREAK
 case 9:
 /* rule 9 can match eol */
-#line 487 "scan.l"
+#line 490 "scan.l"
 case 10:
 /* rule 10 can match eol */
 YY_RULE_SETUP
-#line 487 "scan.l"
+#line 490 "scan.l"
 {
                                        addlit(yytext, yyleng, yyscanner);
                                }
        YY_BREAK
 case YY_STATE_EOF(xb):
-#line 490 "scan.l"
+#line 493 "scan.l"
 { yyerror("unterminated bit string literal"); }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 492 "scan.l"
+#line 495 "scan.l"
 {
                                        /* Hexadecimal bit type.
                                         * At some point we should simply pass the string
@@ -1408,12 +1631,12 @@ YY_RULE_SETUP
                                }
        YY_BREAK
 case YY_STATE_EOF(xh):
-#line 504 "scan.l"
+#line 507 "scan.l"
 { yyerror("unterminated hexadecimal string literal"); }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 506 "scan.l"
+#line 509 "scan.l"
 {
                                        /* National character.
                                         * We will pass this along as a normal character string,
@@ -1442,7 +1665,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 532 "scan.l"
+#line 535 "scan.l"
 {
                                        yyextra->warn_on_first_escape = true;
                                        yyextra->saw_non_ascii = false;
@@ -1456,7 +1679,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 542 "scan.l"
+#line 545 "scan.l"
 {
                                        yyextra->warn_on_first_escape = false;
                                        yyextra->saw_non_ascii = false;
@@ -1467,7 +1690,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 549 "scan.l"
+#line 552 "scan.l"
 {
                                        SET_YYLLOC();
                                        if (!yyextra->standard_conforming_strings)
@@ -1482,7 +1705,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 561 "scan.l"
+#line 564 "scan.l"
 {
                                        /*
                                         * When we are scanning a quoted string and see an end
@@ -1499,7 +1722,7 @@ YY_RULE_SETUP
 case 17:
 /* rule 17 can match eol */
 YY_RULE_SETUP
-#line 573 "scan.l"
+#line 576 "scan.l"
 {
                                        /*
                                         * Found a quote continuation, so return to the in-quote
@@ -1511,13 +1734,13 @@ YY_RULE_SETUP
        YY_BREAK
 case 18:
 /* rule 18 can match eol */
-#line 582 "scan.l"
+#line 585 "scan.l"
 case 19:
 /* rule 19 can match eol */
-#line 583 "scan.l"
+#line 586 "scan.l"
 YY_RULE_SETUP
 case YY_STATE_EOF(xqs):
-#line 583 "scan.l"
+#line 586 "scan.l"
 {
                                        /*
                                         * Failed to see a quote continuation.  Throw back
@@ -1557,7 +1780,7 @@ case YY_STATE_EOF(xqs):
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 620 "scan.l"
+#line 623 "scan.l"
 {
                                        addlitchar('\'', yyscanner);
                                }
@@ -1565,7 +1788,7 @@ YY_RULE_SETUP
 case 21:
 /* rule 21 can match eol */
 YY_RULE_SETUP
-#line 623 "scan.l"
+#line 626 "scan.l"
 {
                                        addlit(yytext, yyleng, yyscanner);
                                }
@@ -1573,14 +1796,14 @@ YY_RULE_SETUP
 case 22:
 /* rule 22 can match eol */
 YY_RULE_SETUP
-#line 626 "scan.l"
+#line 629 "scan.l"
 {
                                        addlit(yytext, yyleng, yyscanner);
                                }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 629 "scan.l"
+#line 632 "scan.l"
 {
                                        pg_wchar        c = strtoul(yytext + 2, NULL, 16);
 
@@ -1612,7 +1835,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 657 "scan.l"
+#line 660 "scan.l"
 {
                                        pg_wchar        c = strtoul(yytext + 2, NULL, 16);
 
@@ -1635,13 +1858,13 @@ YY_RULE_SETUP
                                }
        YY_BREAK
 case 25:
-#line 678 "scan.l"
+#line 681 "scan.l"
 case 26:
 /* rule 26 can match eol */
-#line 679 "scan.l"
+#line 682 "scan.l"
 YY_RULE_SETUP
 case YY_STATE_EOF(xeu):
-#line 679 "scan.l"
+#line 682 "scan.l"
 {
                                        /* Set the error cursor to point at missing esc seq */
                                        SET_YYLLOC();
@@ -1650,7 +1873,7 @@ case YY_STATE_EOF(xeu):
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 684 "scan.l"
+#line 687 "scan.l"
 {
                                        /* Set the error cursor to point at malformed esc seq */
                                        SET_YYLLOC();
@@ -1664,7 +1887,7 @@ YY_RULE_SETUP
 case 28:
 /* rule 28 can match eol */
 YY_RULE_SETUP
-#line 693 "scan.l"
+#line 696 "scan.l"
 {
 #ifdef PGPOOL_NOT_USED
                                        if (yytext[1] == '\'')
@@ -1686,7 +1909,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 711 "scan.l"
+#line 714 "scan.l"
 {
                                        unsigned char c = strtoul(yytext + 1, NULL, 8);
 
@@ -1698,7 +1921,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 719 "scan.l"
+#line 722 "scan.l"
 {
                                        unsigned char c = strtoul(yytext + 2, NULL, 16);
 
@@ -1710,7 +1933,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 727 "scan.l"
+#line 730 "scan.l"
 {
                                        /* This is only needed for \ just before EOF */
                                        addlitchar(yytext[0], yyscanner);
@@ -1719,12 +1942,12 @@ YY_RULE_SETUP
 case YY_STATE_EOF(xq):
 case YY_STATE_EOF(xe):
 case YY_STATE_EOF(xus):
-#line 731 "scan.l"
+#line 734 "scan.l"
 { yyerror("unterminated quoted string"); }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 733 "scan.l"
+#line 736 "scan.l"
 {
                                        SET_YYLLOC();
                                        yyextra->dolqstart = pstrdup(yytext);
@@ -1734,7 +1957,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 739 "scan.l"
+#line 742 "scan.l"
 {
                                        SET_YYLLOC();
                                        /* throw back all but the initial "$" */
@@ -1745,7 +1968,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 746 "scan.l"
+#line 749 "scan.l"
 {
                                        if (strcmp(yytext, yyextra->dolqstart) == 0)
                                        {
@@ -1770,33 +1993,33 @@ YY_RULE_SETUP
 case 35:
 /* rule 35 can match eol */
 YY_RULE_SETUP
-#line 766 "scan.l"
+#line 769 "scan.l"
 {
                                        addlit(yytext, yyleng, yyscanner);
                                }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 769 "scan.l"
+#line 772 "scan.l"
 {
                                        addlit(yytext, yyleng, yyscanner);
                                }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 772 "scan.l"
+#line 775 "scan.l"
 {
                                        /* This is only needed for $ inside the quoted text */
                                        addlitchar(yytext[0], yyscanner);
                                }
        YY_BREAK
 case YY_STATE_EOF(xdolq):
-#line 776 "scan.l"
+#line 779 "scan.l"
 { yyerror("unterminated dollar-quoted string"); }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 778 "scan.l"
+#line 781 "scan.l"
 {
                                        SET_YYLLOC();
                                        BEGIN(xd);
@@ -1805,7 +2028,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 783 "scan.l"
+#line 786 "scan.l"
 {
                                        SET_YYLLOC();
                                        BEGIN(xui);
@@ -1814,7 +2037,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 788 "scan.l"
+#line 791 "scan.l"
 {
                                        char       *ident;
 
@@ -1830,7 +2053,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 800 "scan.l"
+#line 803 "scan.l"
 {
                                        BEGIN(INITIAL);
                                        if (yyextra->literallen == 0)
@@ -1842,7 +2065,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 808 "scan.l"
+#line 811 "scan.l"
 {
                                        addlitchar('"', yyscanner);
                                }
@@ -1850,19 +2073,19 @@ YY_RULE_SETUP
 case 43:
 /* rule 43 can match eol */
 YY_RULE_SETUP
-#line 811 "scan.l"
+#line 814 "scan.l"
 {
                                        addlit(yytext, yyleng, yyscanner);
                                }
        YY_BREAK
 case YY_STATE_EOF(xd):
 case YY_STATE_EOF(xui):
-#line 814 "scan.l"
+#line 817 "scan.l"
 { yyerror("unterminated quoted identifier"); }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 816 "scan.l"
+#line 819 "scan.l"
 {
                                        char       *ident;
 
@@ -1877,7 +2100,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 828 "scan.l"
+#line 831 "scan.l"
 {
                                        SET_YYLLOC();
                                        return TYPECAST;
@@ -1885,7 +2108,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 833 "scan.l"
+#line 836 "scan.l"
 {
                                        SET_YYLLOC();
                                        return DOT_DOT;
@@ -1893,7 +2116,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 838 "scan.l"
+#line 841 "scan.l"
 {
                                        SET_YYLLOC();
                                        return COLON_EQUALS;
@@ -1901,7 +2124,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 843 "scan.l"
+#line 846 "scan.l"
 {
                                        SET_YYLLOC();
                                        return EQUALS_GREATER;
@@ -1909,7 +2132,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 848 "scan.l"
+#line 851 "scan.l"
 {
                                        SET_YYLLOC();
                                        return LESS_EQUALS;
@@ -1917,7 +2140,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 853 "scan.l"
+#line 856 "scan.l"
 {
                                        SET_YYLLOC();
                                        return GREATER_EQUALS;
@@ -1925,7 +2148,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 858 "scan.l"
+#line 861 "scan.l"
 {
                                        /* We accept both "<>" and "!=" as meaning NOT_EQUALS */
                                        SET_YYLLOC();
@@ -1934,7 +2157,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 864 "scan.l"
+#line 867 "scan.l"
 {
                                        /* We accept both "<>" and "!=" as meaning NOT_EQUALS */
                                        SET_YYLLOC();
@@ -1943,7 +2166,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 870 "scan.l"
+#line 873 "scan.l"
 {
                                        SET_YYLLOC();
                                        return yytext[0];
@@ -1951,7 +2174,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 875 "scan.l"
+#line 878 "scan.l"
 {
                                        /*
                                         * Check for embedded slash-star or dash-dash; those
@@ -2062,7 +2285,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 983 "scan.l"
+#line 986 "scan.l"
 {
                                        SET_YYLLOC();
                                        yylval->ival = atol(yytext + 1);
@@ -2071,7 +2294,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 988 "scan.l"
+#line 991 "scan.l"
 {
                                        SET_YYLLOC();
                                        yyerror("trailing junk after parameter");
@@ -2079,7 +2302,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 993 "scan.l"
+#line 996 "scan.l"
 {
                                        SET_YYLLOC();
                                        return process_integer_literal(yytext, yylval);
@@ -2087,7 +2310,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 997 "scan.l"
+#line 1000 "scan.l"
 {
                                        SET_YYLLOC();
                                        yylval->str = pstrdup(yytext);
@@ -2096,7 +2319,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 1002 "scan.l"
+#line 1005 "scan.l"
 {
                                        /* throw back the .., and treat as integer */
                                        yyless(yyleng - 2);
@@ -2106,7 +2329,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 1008 "scan.l"
+#line 1011 "scan.l"
 {
                                        SET_YYLLOC();
                                        yylval->str = pstrdup(yytext);
@@ -2115,7 +2338,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 1013 "scan.l"
+#line 1016 "scan.l"
 {
                                        SET_YYLLOC();
                                        yyerror("trailing junk after numeric literal");
@@ -2123,7 +2346,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 1017 "scan.l"
+#line 1020 "scan.l"
 {
                                        SET_YYLLOC();
                                        yyerror("trailing junk after numeric literal");
@@ -2131,7 +2354,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 1021 "scan.l"
+#line 1024 "scan.l"
 {
                                        SET_YYLLOC();
                                        yyerror("trailing junk after numeric literal");
@@ -2139,7 +2362,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 1025 "scan.l"
+#line 1028 "scan.l"
 {
                                        SET_YYLLOC();
                                        yyerror("trailing junk after numeric literal");
@@ -2147,7 +2370,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 1031 "scan.l"
+#line 1034 "scan.l"
 {
                                        int                     kwnum;
                                        char       *ident;
@@ -2175,14 +2398,14 @@ YY_RULE_SETUP
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 1056 "scan.l"
+#line 1059 "scan.l"
 {
                                        SET_YYLLOC();
                                        return yytext[0];
                                }
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 1061 "scan.l"
+#line 1064 "scan.l"
 {
                                        SET_YYLLOC();
                                        yyterminate();
@@ -2190,10 +2413,10 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 1066 "scan.l"
+#line 1069 "scan.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 2197 "scan.c"
+#line 2420 "scan.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -2209,7 +2432,7 @@ YY_FATAL_ERROR( "flex scanner jammed" );
                        /* We're scanning a new file or input source.  It's
                         * possible that this happened because the user
                         * just pointed yyin at a new source and called
-                        * core_yylex().  If so, then we have to assure
+                        * yylex().  If so, then we have to assure
                         * consistency between YY_CURRENT_BUFFER and our
                         * globals.  Here is the right place to do so, because
                         * this is the first action (other than possibly a
@@ -2270,7 +2493,7 @@ YY_FATAL_ERROR( "flex scanner jammed" );
                                {
                                yyg->yy_did_buffer_switch_on_eof = 0;
 
-                               if ( core_yywrap(yyscanner ) )
+                               if ( yywrap( yyscanner ) )
                                        {
                                        /* Note: because we've taken care in
                                         * yy_get_next_buffer() to have set up
@@ -2323,7 +2546,8 @@ YY_FATAL_ERROR( "flex scanner jammed" );
                        "fatal flex scanner internal error--no action found" );
        } /* end of action switch */
                } /* end of scanning one token */
-} /* end of core_yylex */
+       } /* end of user's declarations */
+} /* end of yylex */
 
 /* yy_get_next_buffer - try to read in a new buffer
  *
@@ -2335,9 +2559,9 @@ YY_FATAL_ERROR( "flex scanner jammed" );
 static int yy_get_next_buffer (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-       register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-       register char *source = yyg->yytext_ptr;
-       register int number_to_move, i;
+       char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+       char *source = yyg->yytext_ptr;
+       int number_to_move, i;
        int ret_val;
 
        if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
@@ -2366,7 +2590,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
        /* Try to read more data. */
 
        /* First move last chars to start of buffer. */
-       number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
+       number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
 
        for ( i = 0; i < number_to_move; ++i )
                *(dest++) = *(source++);
@@ -2379,7 +2603,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
        else
                {
-                       yy_size_t num_to_read =
+                       int num_to_read =
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
                while ( num_to_read <= 0 )
@@ -2393,7 +2617,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
                        if ( b->yy_is_our_buffer )
                                {
-                               yy_size_t new_size = b->yy_buf_size * 2;
+                               int new_size = b->yy_buf_size * 2;
 
                                if ( new_size <= 0 )
                                        b->yy_buf_size += b->yy_buf_size / 8;
@@ -2402,11 +2626,12 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
                                b->yy_ch_buf = (char *)
                                        /* Include room in for 2 EOB chars. */
-                                       core_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
+                                       yyrealloc( (void *) b->yy_ch_buf,
+                                                        (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
                                }
                        else
                                /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
+                               b->yy_ch_buf = NULL;
 
                        if ( ! b->yy_ch_buf )
                                YY_FATAL_ERROR(
@@ -2434,7 +2659,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
                if ( number_to_move == YY_MORE_ADJ )
                        {
                        ret_val = EOB_ACT_END_OF_FILE;
-                       core_yyrestart(yyin  ,yyscanner);
+                       yyrestart( yyin  , yyscanner);
                        }
 
                else
@@ -2448,12 +2673,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
        else
                ret_val = EOB_ACT_CONTINUE_SCAN;
 
-       if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+       if ((yyg->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 = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
-               YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) core_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
+               int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
+               YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+                       (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
                if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
                        YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+               /* "- 2" to take care of EOB's */
+               YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
        }
 
        yyg->yy_n_chars += number_to_move;
@@ -2469,15 +2697,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
+       yy_state_type yy_current_state;
+       char *yy_cp;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
        yy_current_state = yyg->yy_start;
 
        for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
                {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+               YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
                if ( yy_accept[yy_current_state] )
                        {
                        yyg->yy_last_accepting_state = yy_current_state;
@@ -2487,9 +2715,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
                        if ( yy_current_state >= 184 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
+                               yy_c = yy_meta[yy_c];
                        }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+               yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                }
 
        return yy_current_state;
@@ -2502,11 +2730,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
  */
     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
 {
-       register int yy_is_jam;
+       int yy_is_jam;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
-       register char *yy_cp = yyg->yy_c_buf_p;
+       char *yy_cp = yyg->yy_c_buf_p;
 
-       register YY_CHAR yy_c = 1;
+       YY_CHAR yy_c = 1;
        if ( yy_accept[yy_current_state] )
                {
                yyg->yy_last_accepting_state = yy_current_state;
@@ -2516,15 +2744,19 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
                {
                yy_current_state = (int) yy_def[yy_current_state];
                if ( yy_current_state >= 184 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
+                       yy_c = yy_meta[yy_c];
                }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+       yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
        yy_is_jam = (yy_current_state == 183);
 
        (void)yyg;
        return yy_is_jam ? 0 : yy_current_state;
 }
 
+#ifndef YY_NO_UNPUT
+
+#endif
+
 #ifndef YY_NO_INPUT
 #ifdef __cplusplus
     static int yyinput (yyscan_t yyscanner)
@@ -2550,7 +2782,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
                else
                        { /* need more input */
-                       yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
+                       int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
                        ++yyg->yy_c_buf_p;
 
                        switch ( yy_get_next_buffer( yyscanner ) )
@@ -2567,14 +2799,14 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
                                         */
 
                                        /* Reset buffer status. */
-                                       core_yyrestart(yyin ,yyscanner);
+                                       yyrestart( yyin , yyscanner);
 
                                        /*FALLTHROUGH*/
 
                                case EOB_ACT_END_OF_FILE:
                                        {
-                                       if ( core_yywrap(yyscanner ) )
-                                               return EOF;
+                                       if ( yywrap( yyscanner ) )
+                                               return 0;
 
                                        if ( ! yyg->yy_did_buffer_switch_on_eof )
                                                YY_NEW_FILE;
@@ -2605,34 +2837,34 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
  * @param yyscanner The scanner object.
  * @note This function does not reset the start condition to @c INITIAL .
  */
-    void core_yyrestart  (FILE * input_file , yyscan_t yyscanner)
+    void yyrestart  (FILE * input_file , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
        if ( ! YY_CURRENT_BUFFER ){
-        core_yyensure_buffer_stack (yyscanner);
+        yyensure_buffer_stack (yyscanner);
                YY_CURRENT_BUFFER_LVALUE =
-            core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
+            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
        }
 
-       core_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
-       core_yy_load_buffer_state(yyscanner );
+       yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
+       yy_load_buffer_state( yyscanner );
 }
 
 /** Switch to a different input buffer.
  * @param new_buffer The new input buffer.
  * @param yyscanner The scanner object.
  */
-    void core_yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
+    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
        /* TODO. We should be able to replace this entire function body
         * with
-        *              core_yypop_buffer_state();
-        *              core_yypush_buffer_state(new_buffer);
+        *              yypop_buffer_state();
+        *              yypush_buffer_state(new_buffer);
      */
-       core_yyensure_buffer_stack (yyscanner);
+       yyensure_buffer_stack (yyscanner);
        if ( YY_CURRENT_BUFFER == new_buffer )
                return;
 
@@ -2645,17 +2877,17 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
                }
 
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
-       core_yy_load_buffer_state(yyscanner );
+       yy_load_buffer_state( yyscanner );
 
        /* We don't actually know whether we did this switch during
-        * EOF (core_yywrap()) processing, but the only time this flag
-        * is looked at is after core_yywrap() is called, so it's safe
+        * EOF (yywrap()) processing, but the only time this flag
+        * is looked at is after yywrap() is called, so it's safe
         * to go ahead and always set it.
         */
        yyg->yy_did_buffer_switch_on_eof = 1;
 }
 
-static void core_yy_load_buffer_state  (yyscan_t yyscanner)
+static void yy_load_buffer_state  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
        yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
@@ -2670,35 +2902,35 @@ static void core_yy_load_buffer_state  (yyscan_t yyscanner)
  * @param yyscanner The scanner object.
  * @return the allocated buffer state.
  */
-    YY_BUFFER_STATE core_yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
+    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
 {
        YY_BUFFER_STATE b;
     
-       b = (YY_BUFFER_STATE) core_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
+       b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
        if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in core_yy_create_buffer()" );
+               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
        b->yy_buf_size = 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.
         */
-       b->yy_ch_buf = (char *) core_yyalloc(b->yy_buf_size + 2 ,yyscanner );
+       b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
        if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in core_yy_create_buffer()" );
+               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
        b->yy_is_our_buffer = 1;
 
-       core_yy_init_buffer(b,file ,yyscanner);
+       yy_init_buffer( b, file , yyscanner);
 
        return b;
 }
 
 /** Destroy the buffer.
- * @param b a buffer created with core_yy_create_buffer()
+ * @param b a buffer created with yy_create_buffer()
  * @param yyscanner The scanner object.
  */
-    void core_yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
+    void yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
@@ -2709,28 +2941,28 @@ static void core_yy_load_buffer_state  (yyscan_t yyscanner)
                YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
 
        if ( b->yy_is_our_buffer )
-               core_yyfree((void *) b->yy_ch_buf ,yyscanner );
+               yyfree( (void *) b->yy_ch_buf , yyscanner );
 
-       core_yyfree((void *) b ,yyscanner );
+       yyfree( (void *) b , yyscanner );
 }
 
 /* Initializes or reinitializes a buffer.
  * This function is sometimes called more than once on the same buffer,
- * such as during a core_yyrestart() or at EOF.
+ * such as during a yyrestart() or at EOF.
  */
-    static void core_yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
+    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
 
 {
        int oerrno = errno;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
-       core_yy_flush_buffer(b ,yyscanner);
+       yy_flush_buffer( b , yyscanner);
 
        b->yy_input_file = file;
        b->yy_fill_buffer = 1;
 
-    /* If b is the current buffer, then core_yy_init_buffer was _probably_
-     * called from core_yyrestart() or through yy_get_next_buffer.
+    /* If b is the current buffer, then yy_init_buffer was _probably_
+     * called from yyrestart() or through yy_get_next_buffer.
      * In that case, we don't want to reset the lineno or column.
      */
     if (b != YY_CURRENT_BUFFER){
@@ -2747,7 +2979,7 @@ static void core_yy_load_buffer_state  (yyscan_t yyscanner)
  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
  * @param yyscanner The scanner object.
  */
-    void core_yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
+    void yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
        if ( ! b )
@@ -2768,7 +3000,7 @@ static void core_yy_load_buffer_state  (yyscan_t yyscanner)
        b->yy_buffer_status = YY_BUFFER_NEW;
 
        if ( b == YY_CURRENT_BUFFER )
-               core_yy_load_buffer_state(yyscanner );
+               yy_load_buffer_state( yyscanner );
 }
 
 /** Pushes the new state onto the stack. The new state becomes
@@ -2777,15 +3009,15 @@ static void core_yy_load_buffer_state  (yyscan_t yyscanner)
  *  @param new_buffer The new state.
  *  @param yyscanner The scanner object.
  */
-void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
        if (new_buffer == NULL)
                return;
 
-       core_yyensure_buffer_stack(yyscanner);
+       yyensure_buffer_stack(yyscanner);
 
-       /* This block is copied from core_yy_switch_to_buffer. */
+       /* This block is copied from yy_switch_to_buffer. */
        if ( YY_CURRENT_BUFFER )
                {
                /* Flush out information for old buffer. */
@@ -2799,8 +3031,8 @@ void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
                yyg->yy_buffer_stack_top++;
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
 
-       /* copied from core_yy_switch_to_buffer. */
-       core_yy_load_buffer_state(yyscanner );
+       /* copied from yy_switch_to_buffer. */
+       yy_load_buffer_state( yyscanner );
        yyg->yy_did_buffer_switch_on_eof = 1;
 }
 
@@ -2808,19 +3040,19 @@ void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
  *  The next element becomes the new top.
  *  @param yyscanner The scanner object.
  */
-void core_yypop_buffer_state (yyscan_t yyscanner)
+void yypop_buffer_state (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
        if (!YY_CURRENT_BUFFER)
                return;
 
-       core_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
+       yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
        YY_CURRENT_BUFFER_LVALUE = NULL;
        if (yyg->yy_buffer_stack_top > 0)
                --yyg->yy_buffer_stack_top;
 
        if (YY_CURRENT_BUFFER) {
-               core_yy_load_buffer_state(yyscanner );
+               yy_load_buffer_state( yyscanner );
                yyg->yy_did_buffer_switch_on_eof = 1;
        }
 }
@@ -2828,7 +3060,7 @@ void core_yypop_buffer_state (yyscan_t yyscanner)
 /* Allocates the stack if it does not exist.
  *  Guarantees space for at least one push.
  */
-static void core_yyensure_buffer_stack (yyscan_t yyscanner)
+static void yyensure_buffer_stack (yyscan_t yyscanner)
 {
        yy_size_t num_to_alloc;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -2839,15 +3071,15 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
                 * 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;
-               yyg->yy_buffer_stack = (struct yy_buffer_state**)core_yyalloc
+      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
+               yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                , yyscanner);
                if ( ! yyg->yy_buffer_stack )
-                       YY_FATAL_ERROR( "out of dynamic memory in core_yyensure_buffer_stack()" );
-                                                                 
+                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
                memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-                               
+
                yyg->yy_buffer_stack_max = num_to_alloc;
                yyg->yy_buffer_stack_top = 0;
                return;
@@ -2856,15 +3088,15 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
        if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
 
                /* Increase the buffer to prepare for a possible push. */
-               int grow_size = 8 /* arbitrary grow size */;
+               yy_size_t grow_size = 8 /* arbitrary grow size */;
 
                num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
-               yyg->yy_buffer_stack = (struct yy_buffer_state**)core_yyrealloc
+               yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
                                                                (yyg->yy_buffer_stack,
                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                , yyscanner);
                if ( ! yyg->yy_buffer_stack )
-                       YY_FATAL_ERROR( "out of dynamic memory in core_yyensure_buffer_stack()" );
+                       YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
 
                /* zero only the new slots.*/
                memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -2876,9 +3108,9 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
  * @param base the character buffer
  * @param size the size in bytes of the character buffer
  * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object. 
+ * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE core_yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
+YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
 {
        YY_BUFFER_STATE b;
     
@@ -2886,69 +3118,69 @@ YY_BUFFER_STATE core_yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yy
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
             base[size-1] != YY_END_OF_BUFFER_CHAR )
                /* They forgot to leave room for the EOB's. */
-               return 0;
+               return NULL;
 
-       b = (YY_BUFFER_STATE) core_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
+       b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
        if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in core_yy_scan_buffer()" );
+               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
 
-       b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
+       b->yy_buf_size = (int) (size - 2);      /* "- 2" to take care of EOB's */
        b->yy_buf_pos = b->yy_ch_buf = base;
        b->yy_is_our_buffer = 0;
-       b->yy_input_file = 0;
+       b->yy_input_file = NULL;
        b->yy_n_chars = b->yy_buf_size;
        b->yy_is_interactive = 0;
        b->yy_at_bol = 1;
        b->yy_fill_buffer = 0;
        b->yy_buffer_status = YY_BUFFER_NEW;
 
-       core_yy_switch_to_buffer(b ,yyscanner );
+       yy_switch_to_buffer( b , yyscanner );
 
        return b;
 }
 
-/** Setup the input buffer state to scan a string. The next call to core_yylex() will
+/** 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
  * @param yyscanner The scanner object.
  * @return the newly allocated buffer state object.
  * @note If you want to scan bytes that may contain NUL values, then use
- *       core_yy_scan_bytes() instead.
+ *       yy_scan_bytes() instead.
  */
-YY_BUFFER_STATE core_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
+YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
 {
     
-       return core_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner);
+       return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
 }
 
-/** Setup the input buffer state to scan the given bytes. The next call to core_yylex() will
+/** 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 yyscanner The scanner object.
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE core_yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len , yyscan_t yyscanner)
+YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
 {
        YY_BUFFER_STATE b;
        char *buf;
        yy_size_t n;
-       yy_size_t i;
+       int i;
     
        /* Get memory for full buffer, including space for trailing EOB's. */
-       n = _yybytes_len + 2;
-       buf = (char *) core_yyalloc(n ,yyscanner );
+       n = (yy_size_t) (_yybytes_len + 2);
+       buf = (char *) yyalloc( n , yyscanner );
        if ( ! buf )
-               YY_FATAL_ERROR( "out of dynamic memory in core_yy_scan_bytes()" );
+               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
 
        for ( i = 0; i < _yybytes_len; ++i )
                buf[i] = yybytes[i];
 
        buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
 
-       b = core_yy_scan_buffer(buf,n ,yyscanner);
+       b = yy_scan_buffer( buf, n , yyscanner);
        if ( ! b )
-               YY_FATAL_ERROR( "bad buffer in core_yy_scan_bytes()" );
+               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
 
        /* It's okay to grow etc. this buffer, and we should throw it
         * away when we're done.
@@ -2962,9 +3194,11 @@ YY_BUFFER_STATE core_yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes
 #define YY_EXIT_FAILURE 2
 #endif
 
-static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
+static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
 {
-       (void) fprintf( stderr, "%s\n", msg );
+       struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+       (void)yyg;
+       fprintf( stderr, "%s\n", msg );
        exit( YY_EXIT_FAILURE );
 }
 
@@ -2990,7 +3224,7 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
 /** Get the user-defined data for this scanner.
  * @param yyscanner The scanner object.
  */
-YY_EXTRA_TYPE core_yyget_extra  (yyscan_t yyscanner)
+YY_EXTRA_TYPE yyget_extra  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yyextra;
@@ -2999,10 +3233,10 @@ YY_EXTRA_TYPE core_yyget_extra  (yyscan_t yyscanner)
 /** Get the current line number.
  * @param yyscanner The scanner object.
  */
-int core_yyget_lineno  (yyscan_t yyscanner)
+int yyget_lineno  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-    
+
         if (! YY_CURRENT_BUFFER)
             return 0;
     
@@ -3012,10 +3246,10 @@ int core_yyget_lineno  (yyscan_t yyscanner)
 /** Get the current column number.
  * @param yyscanner The scanner object.
  */
-int core_yyget_column  (yyscan_t yyscanner)
+int yyget_column  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-    
+
         if (! YY_CURRENT_BUFFER)
             return 0;
     
@@ -3025,7 +3259,7 @@ int core_yyget_column  (yyscan_t yyscanner)
 /** Get the input stream.
  * @param yyscanner The scanner object.
  */
-FILE *core_yyget_in  (yyscan_t yyscanner)
+FILE *yyget_in  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yyin;
@@ -3034,7 +3268,7 @@ FILE *core_yyget_in  (yyscan_t yyscanner)
 /** Get the output stream.
  * @param yyscanner The scanner object.
  */
-FILE *core_yyget_out  (yyscan_t yyscanner)
+FILE *yyget_out  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yyout;
@@ -3043,7 +3277,7 @@ FILE *core_yyget_out  (yyscan_t yyscanner)
 /** Get the length of the current token.
  * @param yyscanner The scanner object.
  */
-yy_size_t core_yyget_leng  (yyscan_t yyscanner)
+int yyget_leng  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yyleng;
@@ -3053,7 +3287,7 @@ yy_size_t core_yyget_leng  (yyscan_t yyscanner)
  * @param yyscanner The scanner object.
  */
 
-char *core_yyget_text  (yyscan_t yyscanner)
+char *yyget_text  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yytext;
@@ -3063,93 +3297,93 @@ char *core_yyget_text  (yyscan_t yyscanner)
  * @param user_defined The data to be associated with this scanner.
  * @param yyscanner The scanner object.
  */
-void core_yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
+void yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     yyextra = user_defined ;
 }
 
 /** Set the current line number.
- * @param line_number
+ * @param _line_number line number
  * @param yyscanner The scanner object.
  */
-void core_yyset_lineno (int  line_number , yyscan_t yyscanner)
+void yyset_lineno (int  _line_number , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
         /* lineno is only valid if an input buffer exists. */
         if (! YY_CURRENT_BUFFER )
-           YY_FATAL_ERROR( "core_yyset_lineno called with no buffer" );
+           YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
     
-    yylineno = line_number;
+    yylineno = _line_number;
 }
 
 /** Set the current column.
- * @param line_number
+ * @param _column_no column number
  * @param yyscanner The scanner object.
  */
-void core_yyset_column (int  column_no , yyscan_t yyscanner)
+void yyset_column (int  _column_no , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
         /* column is only valid if an input buffer exists. */
         if (! YY_CURRENT_BUFFER )
-           YY_FATAL_ERROR( "core_yyset_column called with no buffer" );
+           YY_FATAL_ERROR( "yyset_column called with no buffer" );
     
-    yycolumn = column_no;
+    yycolumn = _column_no;
 }
 
 /** Set the input stream. This does not discard the current
  * input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
  * @param yyscanner The scanner object.
- * @see core_yy_switch_to_buffer
+ * @see yy_switch_to_buffer
  */
-void core_yyset_in (FILE *  in_str , yyscan_t yyscanner)
+void yyset_in (FILE *  _in_str , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-    yyin = in_str ;
+    yyin = _in_str ;
 }
 
-void core_yyset_out (FILE *  out_str , yyscan_t yyscanner)
+void yyset_out (FILE *  _out_str , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-    yyout = out_str ;
+    yyout = _out_str ;
 }
 
-int core_yyget_debug  (yyscan_t yyscanner)
+int yyget_debug  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yy_flex_debug;
 }
 
-void core_yyset_debug (int  bdebug , yyscan_t yyscanner)
+void yyset_debug (int  _bdebug , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-    yy_flex_debug = bdebug ;
+    yy_flex_debug = _bdebug ;
 }
 
 /* Accessor methods for yylval and yylloc */
 
-YYSTYPE * core_yyget_lval  (yyscan_t yyscanner)
+YYSTYPE * yyget_lval  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yylval;
 }
 
-void core_yyset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
+void yyset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     yylval = yylval_param;
 }
 
-YYLTYPE *core_yyget_lloc  (yyscan_t yyscanner)
+YYLTYPE *yyget_lloc  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yylloc;
 }
     
-void core_yyset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
+void yyset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     yylloc = yylloc_param;
@@ -3157,20 +3391,18 @@ void core_yyset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
     
 /* User-visible API */
 
-/* core_yylex_init is special because it creates the scanner itself, so it is
+/* yylex_init is special because it creates the scanner itself, so it is
  * the ONLY reentrant function that doesn't take the scanner as the last argument.
  * That's why we explicitly handle the declaration, instead of using our macros.
  */
-
-int core_yylex_init(yyscan_t* ptr_yy_globals)
-
+int yylex_init(yyscan_t* ptr_yy_globals)
 {
     if (ptr_yy_globals == NULL){
         errno = EINVAL;
         return 1;
     }
 
-    *ptr_yy_globals = (yyscan_t) core_yyalloc ( sizeof( struct yyguts_t ), NULL );
+    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
 
     if (*ptr_yy_globals == NULL){
         errno = ENOMEM;
@@ -3183,39 +3415,37 @@ int core_yylex_init(yyscan_t* ptr_yy_globals)
     return yy_init_globals ( *ptr_yy_globals );
 }
 
-/* core_yylex_init_extra has the same functionality as core_yylex_init, but follows the
+/* yylex_init_extra has the same functionality as yylex_init, but follows the
  * convention of taking the scanner as the last argument. Note however, that
  * this is a *pointer* to a scanner, as it will be allocated by this call (and
  * is the reason, too, why this function also must handle its own declaration).
- * The user defined value in the first argument will be available to core_yyalloc in
+ * The user defined value in the first argument will be available to yyalloc in
  * the yyextra field.
  */
-
-int core_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
-
+int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
 {
     struct yyguts_t dummy_yyguts;
 
-    core_yyset_extra (yy_user_defined, &dummy_yyguts);
+    yyset_extra (yy_user_defined, &dummy_yyguts);
 
     if (ptr_yy_globals == NULL){
         errno = EINVAL;
         return 1;
     }
-       
-    *ptr_yy_globals = (yyscan_t) core_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
-       
+
+    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
+
     if (*ptr_yy_globals == NULL){
         errno = ENOMEM;
         return 1;
     }
-    
+
     /* By setting to 0xAA, we expose bugs in
     yy_init_globals. Leave at 0x00 for releases. */
     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
-    
-    core_yyset_extra (yy_user_defined, *ptr_yy_globals);
-    
+
+    yyset_extra (yy_user_defined, *ptr_yy_globals);
+
     return yy_init_globals ( *ptr_yy_globals );
 }
 
@@ -3223,13 +3453,13 @@ static int yy_init_globals (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from core_yylex_destroy(), so don't allocate here.
+     * This function is called from yylex_destroy(), so don't allocate here.
      */
 
-    yyg->yy_buffer_stack = 0;
+    yyg->yy_buffer_stack = NULL;
     yyg->yy_buffer_stack_top = 0;
     yyg->yy_buffer_stack_max = 0;
-    yyg->yy_c_buf_p = (char *) 0;
+    yyg->yy_c_buf_p = NULL;
     yyg->yy_init = 0;
     yyg->yy_start = 0;
 
@@ -3242,42 +3472,42 @@ static int yy_init_globals (yyscan_t yyscanner)
     yyin = stdin;
     yyout = stdout;
 #else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
+    yyin = NULL;
+    yyout = NULL;
 #endif
 
     /* For future reference: Set errno on error, since we are called by
-     * core_yylex_init()
+     * yylex_init()
      */
     return 0;
 }
 
-/* core_yylex_destroy is for both reentrant and non-reentrant scanners. */
-int core_yylex_destroy  (yyscan_t yyscanner)
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
     /* Pop the buffer stack, destroying each element. */
        while(YY_CURRENT_BUFFER){
-               core_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
+               yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
                YY_CURRENT_BUFFER_LVALUE = NULL;
-               core_yypop_buffer_state(yyscanner);
+               yypop_buffer_state(yyscanner);
        }
 
        /* Destroy the stack itself. */
-       core_yyfree(yyg->yy_buffer_stack ,yyscanner);
+       yyfree(yyg->yy_buffer_stack , yyscanner);
        yyg->yy_buffer_stack = NULL;
 
     /* Destroy the start condition stack. */
-        core_yyfree(yyg->yy_start_stack ,yyscanner );
+        yyfree( yyg->yy_start_stack , yyscanner );
         yyg->yy_start_stack = NULL;
 
     /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * core_yylex() is called, initialization will occur. */
+     * yylex() is called, initialization will occur. */
     yy_init_globals( yyscanner);
 
     /* Destroy the main struct (reentrant only). */
-    core_yyfree ( yyscanner , yyscanner );
+    yyfree ( yyscanner , yyscanner );
     yyscanner = NULL;
     return 0;
 }
@@ -3287,18 +3517,21 @@ int core_yylex_destroy  (yyscan_t yyscanner)
  */
 
 #ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
+static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
 {
-       register int i;
+       struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
+       (void)yyg;
+
+       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 , yyscan_t yyscanner)
+static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
 {
-       register int n;
+       int n;
        for ( n = 0; s[n]; ++n )
                ;
 
@@ -3308,14 +3541,13 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
 
 #define YYTABLES_NAME "yytables"
 
-#line 1066 "scan.l"
-
+#line 1069 "scan.l"
 
 
 /* LCOV_EXCL_STOP */
 
 /*
- * Arrange access to yyextra for subroutines of the main core_yylex() function.
+ * Arrange access to yyextra for subroutines of the main yylex() function.
  * We expect each subroutine to have a yyscanner parameter.  Rather than
  * use the yyget_xxx functions, which might or might not get inlined by the
  * compiler, we cheat just a bit and cast yyscanner to the right type.
@@ -3422,7 +3654,7 @@ cancel_scanner_errposition_callback(ScannerCallbackState *scbstate)
  *             Report a lexer or grammar error.
  *
  * The message's cursor position is whatever YYLLOC was last set to,
- * ie, the start of the current token if called within core_yylex(), or the
+ * ie, the start of the current token if called within yylex(), or the
  * most recently lexed token if called from the grammar.
  * This is OK for syntax error messages from the Bison parser, because Bison
  * parsers report error as soon as the first unparsable token is reached.
@@ -3465,8 +3697,8 @@ scanner_init(const char *str,
 {
        yyscan_t        scanner;
 
-       if (core_yylex_init(&scanner) != 0)
-               elog(ERROR, "core_yylex_init() failed: %m");
+       if (yylex_init(&scanner) != 0)
+               elog(ERROR, "yylex_init() failed: %m");
 
        core_yyset_extra(yyext, scanner);
 
@@ -3484,7 +3716,7 @@ scanner_init(const char *str,
        yyext->scanbuflen = slen;
        memcpy(yyext->scanbuf, str, slen);
        yyext->scanbuf[slen] = yyext->scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR;
-       core_yy_scan_buffer(yyext->scanbuf,slen + 2,scanner);
+       yy_scan_buffer(yyext->scanbuf, slen + 2, scanner);
 
        /* initialize literal buffer to a reasonable but expansible size */
        yyext->literalalloc = 1024;
@@ -3502,7 +3734,7 @@ void
 scanner_finish(core_yyscan_t yyscanner)
 {
        /*
-        * We don't bother to call core_yylex_destroy(), because all it would do is
+        * We don't bother to call yylex_destroy(), because all it would do is
         * pfree a small amount of control storage.  It's cheaper to leak the
         * storage until the parsing context is destroyed.  The amount of space
         * involved is usually negligible compared to the output parse tree
@@ -3647,21 +3879,25 @@ check_string_escape_warning(unsigned char ychar, core_yyscan_t yyscanner)
        if (ychar == '\'')
        {
                if (yyextra->warn_on_first_escape && yyextra->escape_string_warning)
+#ifdef NOT_USED
                        ereport(WARNING,
                                        (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER),
                                         errmsg("nonstandard use of \\' in a string literal"),
                                         errhint("Use '' to write quotes in strings, or use the escape string syntax (E'...')."),
                                         lexer_errposition()));
+#endif
                yyextra->warn_on_first_escape = false;  /* warn only once per string */
        }
        else if (ychar == '\\')
        {
                if (yyextra->warn_on_first_escape && yyextra->escape_string_warning)
+#ifdef NOT_USED
                        ereport(WARNING,
                                        (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER),
                                         errmsg("nonstandard use of \\\\ in a string literal"),
                                         errhint("Use the escape string syntax for backslashes, e.g., E'\\\\'."),
                                         lexer_errposition()));
+#endif
                yyextra->warn_on_first_escape = false;  /* warn only once per string */
        }
        else
@@ -3672,11 +3908,13 @@ static void
 check_escape_warning(core_yyscan_t yyscanner)
 {
        if (yyextra->warn_on_first_escape && yyextra->escape_string_warning)
+#ifdef NOT_USED
                ereport(WARNING,
                                (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER),
                                 errmsg("nonstandard use of escape in a string literal"),
                errhint("Use the escape string syntax for escapes, e.g., E'\\r\\n'."),
                                 lexer_errposition()));
+#endif
        yyextra->warn_on_first_escape = false;          /* warn only once per string */
 }
 
index 9ef334b5d8a82be150af3dff1827a346fabcd9c3..fc14f1fd6521961e7d6583a12bb3f1354216fc31 100644 (file)
@@ -67,6 +67,9 @@ fprintf_to_ereport(const char *fmt, const char *msg)
  * head of gram.y, ie flex/bison code must not depend on any GUC variables;
  * as such, changing their values can induce very unintuitive behavior.
  * But we shall have to live with it until we can remove these variables.
+ *
+ * standard_conforming_strings is overridden by parser_set_param()
+ * while connecting to backend by receiving parameter status message.
  */
 int                    backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING;
 bool           escape_string_warning = true;
@@ -1400,21 +1403,25 @@ check_string_escape_warning(unsigned char ychar, core_yyscan_t yyscanner)
        if (ychar == '\'')
        {
                if (yyextra->warn_on_first_escape && yyextra->escape_string_warning)
+#ifdef NOT_USED
                        ereport(WARNING,
                                        (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER),
                                         errmsg("nonstandard use of \\' in a string literal"),
                                         errhint("Use '' to write quotes in strings, or use the escape string syntax (E'...')."),
                                         lexer_errposition()));
+#endif
                yyextra->warn_on_first_escape = false;  /* warn only once per string */
        }
        else if (ychar == '\\')
        {
                if (yyextra->warn_on_first_escape && yyextra->escape_string_warning)
+#ifdef NOT_USED
                        ereport(WARNING,
                                        (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER),
                                         errmsg("nonstandard use of \\\\ in a string literal"),
                                         errhint("Use the escape string syntax for backslashes, e.g., E'\\\\'."),
                                         lexer_errposition()));
+#endif
                yyextra->warn_on_first_escape = false;  /* warn only once per string */
        }
        else
@@ -1425,11 +1432,13 @@ static void
 check_escape_warning(core_yyscan_t yyscanner)
 {
        if (yyextra->warn_on_first_escape && yyextra->escape_string_warning)
+#ifdef NOT_USED
                ereport(WARNING,
                                (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER),
                                 errmsg("nonstandard use of escape in a string literal"),
                errhint("Use the escape string syntax for escapes, e.g., E'\\r\\n'."),
                                 lexer_errposition()));
+#endif
        yyextra->warn_on_first_escape = false;          /* warn only once per string */
 }