1 /*-------------------------------------------------------------------------
4 * Declarations for routines exported from lexer and parser files.
7 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
12 *-------------------------------------------------------------------------
18 #include "nodes/parsenodes.h"
21 * We track token locations in terms of byte offsets from the start of the
22 * source string, not the column number/line number representation that
23 * bison uses by default. Also, to minimize overhead we track only one
24 * location (usually the first token location) for each construct, not
25 * the beginning and ending locations as bison does by default. It's
26 * therefore sufficient to make YYLTYPE an int.
34 BACKSLASH_QUOTE_SAFE_ENCODING
37 /* GUC variables in scan.l (every one of these is a bad idea :-() */
38 extern int backslash_quote
;
39 extern bool escape_string_warning
;
40 extern bool standard_conforming_strings
;
44 extern int filtered_base_yylex(void);
47 extern void scanner_init(const char *str
);
48 extern void scanner_finish(void);
49 extern int base_yylex(void);
50 extern int scanner_errposition(int location
);
51 extern void base_yyerror(const char *message
);
54 extern void parser_init(void);
55 extern int base_yyparse(void);
56 extern List
*SystemFuncName(char *name
);
57 extern TypeName
*SystemTypeName(char *name
);
59 #endif /* GRAMPARSE_H */