vibesql-parser

Crates.iovibesql-parser
lib.rsvibesql-parser
version0.1.4
created_at2025-12-04 00:01:56.10607+00
updated_at2026-01-19 06:25:37.916305+00
descriptionSQL parser for vibesql database engine
homepage
repositoryhttps://github.com/rjwalters/vibesql
max_upload_size
id1965520
size1,711,145
Robb Walters (rjwalters)

documentation

README

vibesql-parser

SQL:1999 compliant parser for VibeSQL database engine.

Overview

This crate provides tokenization and parsing of SQL statements into the shared AST. It implements a full SQL:1999 parser with support for modern SQL features.

Features

  • Full SQL:1999 Support: Complete coverage of SQL:1999 standard
  • Lexical Analysis: Token-based lexer with keyword recognition
  • Syntax Parsing: Recursive descent parser for SQL statements
  • Error Reporting: Detailed parse error messages with location information
  • Performance: Optimized for fast parsing of complex queries

Usage

Add this to your Cargo.toml:

[dependencies]
vibesql-parser = "0.1"

Basic example:

use vibesql_parser::Parser;

let sql = "SELECT name, age FROM users WHERE age > 18";
let mut parser = Parser::new(sql);

match parser.parse() {
    Ok(statements) => {
        // Process parsed AST
        for stmt in statements {
            println!("{:?}", stmt);
        }
    }
    Err(e) => eprintln!("Parse error: {}", e),
}

Documentation

License

This project is licensed under either of:

at your option.

Commit count: 3672

cargo fmt