PEG 파서

PEG 파서 (PEG Parser)

DuckDB v1.5는 PEG(Parsing Expression Grammars) 기반의 실험적 파서를 탑재했어요. 새 파서는 더 나은 추천(suggestions), 개선된 오류 메시지를 제공하고, 확장이 문법을 확장할 수 있게 해줘요. PEG 파서는 현재 기본적으로 비활성화되어 있지만 다음으로 옵트인할 수 있어요:

출처: 문서

본문

CALL enable_peg_parser();

PEG 파서는 이미 추천 생성에 사용되고 있어요. TAB 키로 옵션들을 순환할 수 있어요.

«animals_db» D FROM ducks WHERE habitat IS 
IS           ISNULL       ILIKE        ⌊IN⌋           INTERSECT    LIKE

우리는 [DuckDB v2.0]({% link release_calendar.md %}) 릴리스에서 새 파서로 전환할 계획이에요.

트레이드오프로, 이 파서는 약간의 성능 오버헤드가 있지만 밀리초 단위라 분석 쿼리에는 무시할 수 있어요. PEG 파서 사용의 근거와 벤치마크 결과에 대한 자세한 내용은 Hannes Mühleisen과 Mark Raasveldt의 [CIDR 2026 논문]({% link _library/2025-01-19-runtime-extensible-parsers.md %})이나, 그 논문을 요약한 [블로그 포스트]({% post_url 2024-11-22-runtime-extensible-parsers %})를 참고해요.

더 알아보기 (Learn more)

DuckDB의 확장 가능한 파서 설계와 벤치마크에 대해서는 위에 링크된 논문과 블로그 포스트를 참고해요.