duckdb has extensible parser

First seen: 2026-05-13 13:25:52+00:00 · Messages: 2 · Participants: 2

Latest Update

2026-05-20 · claude-opus-4-6

Incremental Update: New Participant Shares Concrete Implementation Work

What's New

Greg Burd has responded to Pavel Stehule's original post with a concrete (though incomplete) implementation effort: replacing PostgreSQL's flex/bison parser infrastructure with "Lime," a parser generator that supports runtime grammar modification.

Technical Significance

This is the first substantive response to the thread and introduces two concrete artifacts:

  1. Lime parser generator (https://codeberg.org/gregburd/lime) — A standalone parser generator project designed to support runtime grammar extensibility
  2. PostgreSQL integration branch (https://github.com/gburd/postgres/tree/lime) — An actual (unstable) branch attempting to replace PostgreSQL's flex+bison parser with Lime

This is architecturally significant because it represents a fundamentally different approach than DuckDB's:

The second approach is far more ambitious — it doesn't just add a hook for unrecognized statements, it proposes that extensions could modify the actual grammar rules at runtime. This would theoretically allow extensions to add new keywords, new expression types, or new statement forms that integrate seamlessly with existing grammar.

Practical Status

Greg explicitly states the branch is "not yet stable or ready" — this is exploratory/proof-of-concept work, not a patch submission. However, it demonstrates that at least one developer is actively working on the problem beyond just discussing it conceptually.

Open Questions This Raises