0
GROUP_P와 같은 모든 PostgreSQL 키워드/토큰의 어휘 정의는 어디에서 찾을 수 있습니까?PostgreSQL + GROUP_P의 어휘 정의
GROUP_P와 같은 모든 PostgreSQL 키워드/토큰의 어휘 정의는 어디에서 찾을 수 있습니까?PostgreSQL + GROUP_P의 어휘 정의
GROUP_P
은 키워드가 아니므로 C 컴파일러의 컨텍스트에서 심볼이며 C 소스 코드 외부에서 어휘 적 의미가 없습니다. 이 선언에서
parser/kwlist.h
에서 :
PG_KEYWORD("group", GROUP_P, RESERVED_KEYWORD)
그것이, 제 2 인수 GROUP_P는 일반적으로 열거 필드 또는 정의 # (는 클루까지의) 첫 번째 인수 키워드는 "그룹"되고있는 .
헤더 파일 src/include/parser/keywords.h
필드에 의해 구조체 직접 PG_KEYWORD 매크로에 매핑 할 수 있습니다 유형 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
구문 분석기 디렉토리에 키워드. [ch] 파일이 있습니다 (여러 위치에서 기호 링크 됨). Fine Manual 끝에 Compliancy 문구가 있습니다. – wildplasser
@wildplasser 감사합니다. 목록이'parser/kwlist.h'에 있다고 생각합니다. 맞습니까? 왜 몇몇 키워드는'_P' 엔딩을 가지고 있습니까? –
나는 아주 희미한 생각이 없습니다. 메타 유형에 대한 명명 규칙이 될 수 있습니다. 어디서 찾았 니? 그것을 위해 소스 트리를 grep 할 수 있습니다. – wildplasser