theParser Stage두 가지로 구성됩니다
the파서정의gram.yandscan.lisBisonandFlex.
the변환 과정
파서는 쿼리 문자열을 확인해야합니다 (일반으로 도착합니다.Parse Tree가 세워져 나눠졌습니다. 그렇지 않으면BisonandFlex.
theLexer파일에 정의되어 있습니다scan.l인식의 책임식별자, TheSQL등. 발견 된 모든 키워드 또는 식별자에 대해토큰가 생성되어
파서는 파일에 정의되어 있습니다gram.y세트로 구성문법 규칙andAction규칙이 해고 될 때마다 실행됩니다. 행동의 코드
파일scan.lscan.c프로그램 사용Flexandgram.y|gram.c사용Bison. 이러한 변형 후Flex또는Bison호출.
참고 :언급 된 변환 및 편집은 다음과 같습니다makefilesPostgreSQL소스 배포.
자세한 설명Bison또는 문법 규칙gram.y이 백서의 범위를 벗어납니다. 많은 책이 있습니다FlexandBison. 당신은 익숙해야합니다Bison공부를 시작하기 전에gram.y그렇지 않으면 당신
파서 스테이지는 고정 규칙 만 사용하여 구문 분석 트리를 만듭니다.변환파서에 의해 트리를 입력으로 가져옵니다.쿼리 트리.
시맨틱 분석에서 원시 파싱을 분리하는 이유는시작, 롤백등) 및select또는업데이트), 우리가 거래를 시작해도 괜찮습니다.
변환 프로세스에 의해 생성 된 쿼리 트리는 다음과 같습니다funccall구문 분석 트리의 노드는 나타납니다funcexpr또는aggref
이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
연결 방법 | PostgreSQL : 문서 : 9.3 : PostgreSQL Internals 스포츠 토토 사이트 | thePostgreSQL규칙 시스템 |