// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (c) 2026 ReifyDB
//! Abstract syntax tree for RQL. The parser entry point `parse_str` tokenises a source string and emits an
//! `AstStatement` tree allocated in a bump arena tied to the source lifetime, so spans inside the AST can refer
//! back to fragments of the original text without copying.
//!
//! AST shapes are public so external tooling - formatters, linters, the explain renderer - can inspect parsed
//! queries without re-parsing them. Adding or renaming a public AST node is a breaking change for that tooling.
use instrument;
use crate::;
pub