diff options
Diffstat (limited to 'src/include/parser')
-rw-r--r-- | src/include/parser/gramparse.h | 25 | ||||
-rw-r--r-- | src/include/parser/parser.h | 26 |
2 files changed, 33 insertions, 18 deletions
diff --git a/src/include/parser/gramparse.h b/src/include/parser/gramparse.h index 86719855be8..31290a270c8 100644 --- a/src/include/parser/gramparse.h +++ b/src/include/parser/gramparse.h @@ -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 */ diff --git a/src/include/parser/parser.h b/src/include/parser/parser.h index cbe879302fc..becc24a9a94 100644 --- a/src/include/parser/parser.h +++ b/src/include/parser/parser.h @@ -1,23 +1,43 @@ /*------------------------------------------------------------------------- * * parser.h - * Definitions for the "raw" parser (lex and yacc phases only) + * Definitions for the "raw" parser (flex and bison phases only) * + * This is the external API for the raw lexing/parsing functions. * * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/parser/parser.h,v 1.25 2009/04/19 21:50:08 tgl Exp $ + * $PostgreSQL: pgsql/src/include/parser/parser.h,v 1.26 2009/07/12 17:12:34 tgl Exp $ * *------------------------------------------------------------------------- */ #ifndef PARSER_H #define PARSER_H -#include "nodes/pg_list.h" +#include "nodes/parsenodes.h" + +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; + + +/* Primary entry points for the raw parsing functions */ extern List *raw_parser(const char *str); extern char *pg_parse_string_token(const char *token); +/* Utility functions exported by gram.y (perhaps these should be elsewhere) */ +extern List *SystemFuncName(char *name); +extern TypeName *SystemTypeName(char *name); + #endif /* PARSER_H */ |