GROUP_P など、すべての PostgreSQL キーワード/トークンの字句定義はどこにありますか?
質問する
68 次
1 に答える
2
GROUP_P
はキーワードではなく、C コンパイラのコンテキストではシンボルであり、C ソース コードの外では字句上の意味はありません。
からのこの宣言ではparser/kwlist.h
:
PG_KEYWORD("group", GROUP_P, RESERVED_KEYWORD)
キーワードは最初の引数 "group" で、2 番目の引数 GROUP_P は通常、列挙型フィールドまたは #define です (インクルーダー次第です)。
ヘッダー ファイルは、フィールドごとに PG_KEYWORD マクロに直接マップできるsrc/include/parser/keywords.h
構造体型を提供します。ScanKeyword
typedef struct ScanKeyword
{
const char *name; /* in lower case */
int16 value; /* grammar's token code */
int16 category; /* see codes above */
} ScanKeyword;
具体的な使用例については、ECPG がどのようにそれを行うかを参照してください。 src/interfaces/ecpg/preproc/keywords.c
于 2012-05-26T16:39:43.463 に答える