Replace #define YY_EXTRA_TYPE with %option extra-type. The latter is
the way recommended by the flex manual (available since flex 2.5.34).
Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Discussion: https://www.postgresql.org/message-id/flat/
eb6faeac-2a8a-4b69-9189-
c33c520e5b7b@eisentraut.org
*/
#define YYSTYPE core_YYSTYPE
-/*
- * Set the type of yyextra. All state variables used by the scanner should
- * be in yyextra, *not* statically allocated.
- */
-#define YY_EXTRA_TYPE core_yy_extra_type *
-
/*
* 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).
%option noyyfree
%option warn
%option prefix="core_yy"
+%option extra-type="core_yy_extra_type *"
/*
* OK, here is a short description of lex/flex rules behavior.
/* Work area for collecting literals */
StringInfoData litbuf;
};
-#define YY_EXTRA_TYPE struct replication_yy_extra_type *
static void startlit(yyscan_t yyscanner);
static char *litbufdup(yyscan_t yyscanner);
%option noyyfree
%option warn
%option prefix="replication_yy"
+%option extra-type="struct replication_yy_extra_type *"
/*
* Exclusive states:
{
StringInfoData xdbuf;
};
-#define YY_EXTRA_TYPE struct syncrep_yy_extra_type *
/* LCOV_EXCL_START */
%option noyyfree
%option warn
%option prefix="syncrep_yy"
+%option extra-type="struct syncrep_yy_extra_type *"
/*
* <xd> delimited identifiers (double-quoted identifiers)
{
JsonPathString scanstring;
};
-#define YY_EXTRA_TYPE struct jsonpath_yy_extra_type *
static void addstring(bool init, char *s, int l, yyscan_t yyscanner);
static void addchar(bool init, char c, yyscan_t yyscanner);
%option noyywrap
%option warn
%option prefix="jsonpath_yy"
+%option extra-type="struct jsonpath_yy_extra_type *"
%option reentrant
%option bison-bridge
%option noyyalloc
*/
typedef int YYSTYPE;
-/*
- * Set the type of yyextra; we use it as a pointer back to the containing
- * PsqlScanState.
- */
-#define YY_EXTRA_TYPE PsqlScanState
-
/*
* These variables do not need to be saved across calls. Yeah, it's a bit
* of a hack, but putting them into PsqlScanStateData would be klugy too.
%option warn
%option prefix="slash_yy"
+/*
+ * Set the type of yyextra; we use it as a pointer back to the containing
+ * PsqlScanState.
+ */
+%option extra-type="PsqlScanState"
+
/*
* OK, here is a short description of lex/flex rules behavior.
* The longest pattern which matches an input string is always chosen.
*/
typedef int YYSTYPE;
-/*
- * Set the type of yyextra; we use it as a pointer back to the containing
- * PsqlScanState.
- */
-#define YY_EXTRA_TYPE PsqlScanState
-
/* Return values from yylex() */
#define LEXRES_EOL 0 /* end of input */
%option warn
%option prefix="psql_yy"
+/*
+ * Set the type of yyextra; we use it as a pointer back to the containing
+ * PsqlScanState.
+ */
+%option extra-type="PsqlScanState"
+
/*
* All of the following definitions and rules should exactly match
* src/backend/parser/scan.l so far as the flex patterns are concerned.