1 /*------------------------------------------------------------------------- 2 * 3 * parser.h 4 * Definitions for the "raw" parser (flex and bison phases only) 5 * 6 * This is the external API for the raw lexing/parsing functions. 7 * 8 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group 9 * Portions Copyright (c) 1994, Regents of the University of California 10 * 11 * src/include/parser/parser.h 12 * 13 *------------------------------------------------------------------------- 14 */ 15 #ifndef PARSER_H 16 #define PARSER_H 17 18 #include "nodes/parsenodes.h" 19 20 21 typedef enum 22 { 23 BACKSLASH_QUOTE_OFF, 24 BACKSLASH_QUOTE_ON, 25 BACKSLASH_QUOTE_SAFE_ENCODING 26 } BackslashQuoteType; 27 28 /* GUC variables in scan.l (every one of these is a bad idea :-() */ 29 extern int backslash_quote; 30 extern bool escape_string_warning; 31 extern PGDLLIMPORT bool standard_conforming_strings; 32 33 34 /* Primary entry point for the raw parsing functions */ 35 extern List *raw_parser(const char *str); 36 37 /* Utility functions exported by gram.y (perhaps these should be elsewhere) */ 38 extern List *SystemFuncName(char *name); 39 extern TypeName *SystemTypeName(char *name); 40 41 #endif /* PARSER_H */ 42