mirror of
https://github.com/postgres/postgres.git
synced 2025-12-20 00:02:41 -05:00
Use flex flags -CF. Pass the to-be-scanned string around as StringInfo type, to avoid querying the length repeatedly. Clean up some code and remove lex-compatibility cruft. Escape backslash sequences inline. Use flex-provided yy_scan_buffer() function to set up input, rather than using myinput().
39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* gramparse.h
|
|
* Declarations for routines exported from lexer and parser files.
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $Id: gramparse.h,v 1.21 2002/04/20 21:56:15 petere Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef GRAMPARSE_H
|
|
#define GRAMPARSE_H
|
|
|
|
#include "lib/stringinfo.h"
|
|
|
|
/* from parser.c */
|
|
extern int yylex(void);
|
|
|
|
/* from scan.l */
|
|
extern void scanner_init(StringInfo str);
|
|
extern void scanner_finish(void);
|
|
extern int base_yylex(void);
|
|
extern void yyerror(const char *message);
|
|
|
|
/* from gram.y */
|
|
extern void parser_init(Oid *typev, int nargs);
|
|
extern Oid param_type(int t);
|
|
extern int yyparse(void);
|
|
extern char *xlateSqlFunc(char *name);
|
|
extern char *xlateSqlType(char *name);
|
|
extern List *SystemFuncName(char *name);
|
|
bool exprIsNullConstant(Node *arg);
|
|
|
|
#endif /* GRAMPARSE_H */
|