mirror of
https://github.com/postgres/postgres.git
synced 2025-10-25 13:17:41 +03:00
Move some declarations in the raw-parser header files to create a clearer
distinction between the external API (parser.h) and declarations that only need to be visible within the raw parser code (gramparse.h, which now is only included by parser.c, gram.y, scan.l, and keywords.c). This is in preparation for the upcoming change to a reentrant lexer, which will require referencing YYSTYPE in the declarations of base_yylex and filtered_base_yylex, hence gram.h will have to be included by gramparse.h. We don't want any more files than absolutely necessary to depend on gram.h, so some cleanup is called for.
This commit is contained in:
@@ -1,13 +1,17 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* gramparse.h
|
||||
* Declarations for routines exported from lexer and parser files.
|
||||
* Shared definitions for the "raw" parser (flex and bison phases only)
|
||||
*
|
||||
* NOTE: this file is only meant to be included in the core parsing files,
|
||||
* ie, parser.c, gram.y, scan.l, and keywords.c. Definitions that are needed
|
||||
* outside the core parser should be in parser.h.
|
||||
*
|
||||
*
|
||||
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/parser/gramparse.h,v 1.44 2009/06/11 14:49:11 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/parser/gramparse.h,v 1.45 2009/07/12 17:12:34 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -27,17 +31,10 @@
|
||||
*/
|
||||
#define YYLTYPE int
|
||||
|
||||
typedef enum
|
||||
{
|
||||
BACKSLASH_QUOTE_OFF,
|
||||
BACKSLASH_QUOTE_ON,
|
||||
BACKSLASH_QUOTE_SAFE_ENCODING
|
||||
} BackslashQuoteType;
|
||||
|
||||
/* GUC variables in scan.l (every one of these is a bad idea :-() */
|
||||
extern int backslash_quote;
|
||||
extern bool escape_string_warning;
|
||||
extern bool standard_conforming_strings;
|
||||
/*
|
||||
* After defining YYLTYPE, it's safe to include gram.h.
|
||||
*/
|
||||
#include "parser/gram.h"
|
||||
|
||||
|
||||
/* from parser.c */
|
||||
@@ -53,7 +50,5 @@ extern void base_yyerror(const char *message);
|
||||
/* from gram.y */
|
||||
extern void parser_init(void);
|
||||
extern int base_yyparse(void);
|
||||
extern List *SystemFuncName(char *name);
|
||||
extern TypeName *SystemTypeName(char *name);
|
||||
|
||||
#endif /* GRAMPARSE_H */
|
||||
|
||||
Reference in New Issue
Block a user