pub trait Dialect: Debug {
// Required methods
fn is_identifier_start(&self, ch: char) -> bool;
fn is_identifier_part(&self, ch: char) -> bool;
fn parse_statement(
&self,
parser: &mut Parser<'_>,
) -> Option<Result<Statement>>;
fn parse_prefix(&self, parser: &mut Parser<'_>) -> Option<Result<Expr>>;
fn prec_value(&self, prec: Precedence) -> u8;
}Expand description
SQL方言ごとのカスタマイズポイントを提供するトrait。
Required Methods§
Sourcefn is_identifier_start(&self, ch: char) -> bool
fn is_identifier_start(&self, ch: char) -> bool
識別子の先頭として利用可能な文字かを判定する。
Sourcefn is_identifier_part(&self, ch: char) -> bool
fn is_identifier_part(&self, ch: char) -> bool
識別子の残りの文字として利用可能な文字かを判定する。
Sourcefn parse_statement(&self, parser: &mut Parser<'_>) -> Option<Result<Statement>>
fn parse_statement(&self, parser: &mut Parser<'_>) -> Option<Result<Statement>>
方言固有のステートメントパースを行う。対応しない場合はNoneを返す。
Sourcefn parse_prefix(&self, parser: &mut Parser<'_>) -> Option<Result<Expr>>
fn parse_prefix(&self, parser: &mut Parser<'_>) -> Option<Result<Expr>>
方言固有のプレフィックスパース(例: ベクトルリテラル)を行う。
Sourcefn prec_value(&self, prec: Precedence) -> u8
fn prec_value(&self, prec: Precedence) -> u8
優先順位の数値を返す。方言で演算子優先順位を調整する場合に使う。