Peter Eisentraut 32c6c99e0b Scanner performance improvements
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().
2002-04-20 21:56:15 +00:00

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 */