| /*------------------------------------------------------------------------- |
| * |
| * keywords.h |
| * lexical token lookup for key words in PostgreSQL |
| * |
| * |
| * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * $PostgreSQL: pgsql/src/include/parser/keywords.h,v 1.26 2009/01/01 17:24:00 momjian Exp $ |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef KEYWORDS_H |
| #define KEYWORDS_H |
| |
| /* Keyword categories --- should match lists in gram.y */ |
| #define UNRESERVED_KEYWORD 0 |
| #define COL_NAME_KEYWORD 1 |
| #define TYPE_FUNC_NAME_KEYWORD 2 |
| #define RESERVED_KEYWORD 3 |
| |
| |
| typedef struct ScanKeyword |
| { |
| const char *name; /* in lower case */ |
| int16 value; /* grammar's token code */ |
| int16 category; /* see codes above */ |
| } ScanKeyword; |
| |
| extern const ScanKeyword ScanKeywords[]; |
| extern const ScanKeyword *LastScanKeyword; |
| |
| extern const ScanKeyword *ScanKeywordLookup(const char *text); |
| extern const ScanKeyword *ScanKeywordLookupExt(const char *keyword, |
| const ScanKeyword scanKeywords[], const ScanKeyword *lastScanKeyword); |
| |
| #endif /* KEYWORDS_H */ |