Header And Logo

PostgreSQL
| The world's most advanced open source database.

parser.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * parser.h
00004  *      Definitions for the "raw" parser (flex and bison phases only)
00005  *
00006  * This is the external API for the raw lexing/parsing functions.
00007  *
00008  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00009  * Portions Copyright (c) 1994, Regents of the University of California
00010  *
00011  * src/include/parser/parser.h
00012  *
00013  *-------------------------------------------------------------------------
00014  */
00015 #ifndef PARSER_H
00016 #define PARSER_H
00017 
00018 #include "nodes/parsenodes.h"
00019 
00020 
00021 typedef enum
00022 {
00023     BACKSLASH_QUOTE_OFF,
00024     BACKSLASH_QUOTE_ON,
00025     BACKSLASH_QUOTE_SAFE_ENCODING
00026 }   BackslashQuoteType;
00027 
00028 /* GUC variables in scan.l (every one of these is a bad idea :-() */
00029 extern int  backslash_quote;
00030 extern bool escape_string_warning;
00031 extern PGDLLIMPORT bool standard_conforming_strings;
00032 
00033 
00034 /* Primary entry point for the raw parsing functions */
00035 extern List *raw_parser(const char *str);
00036 
00037 /* Utility functions exported by gram.y (perhaps these should be elsewhere) */
00038 extern List *SystemFuncName(char *name);
00039 extern TypeName *SystemTypeName(char *name);
00040 
00041 #endif   /* PARSER_H */