Parser
-
PostgreSQL의 Parser Stage데이터베이스 개발 2019. 8. 6. 19:13
PostgreSQL의 Parser Stage를 간단하게 정리한다. Parser Stage는 lexer 단계와 parser 단계로 구성된다. lexer는 src/backend/parser/scan.l 파일에 정의되어 있다. 식별자(SQL 키워드)를 인식하며 일반적으로 token이라고 한다. parser는 src/backend/parser/gram.y 파일에 정의되어 있다. grammar rule과 action으로 구성되어 있다. scan.l 파일은 flex 프로그램을 통해 scan.c로 변환된다. gram.y 파일은 bison 프로그램을 통해 gram.c로 변환된다. 변환 및 컴파일은 makefile을 사용해 자동화된다. gram.y 파일 내용을 이해하기 위해서는 bison을 알아야 한다. PostgreS..