parse_query

Function parse_query 

Source
pub fn parse_query(input: &str) -> Result<Query>
Expand description

Parse an EventQL query string into an abstract syntax tree.

This is the main entry point for parsing EventQL queries. It performs both lexical analysis (tokenization) and syntactic analysis (parsing) in a single call.

ยงExamples

use eventql_parser::parse_query;

// Parse a simple query
let query = parse_query("FROM e IN events WHERE e.id == 1 PROJECT INTO e").unwrap();
assert!(query.predicate.is_some());

// Parse with multiple clauses
let complex = parse_query(
    "FROM e IN events \
     WHERE e.price > 100 \
     ORDER BY e.timestamp DESC \
     TOP 10 \
     PROJECT INTO {id: e.id, price: e.price}"
).unwrap();
assert!(complex.order_by.is_some());
assert!(complex.limit.is_some());

// Handle errors
match parse_query("FROM e IN events WHERE") {
    Ok(_) => println!("Parsed successfully"),
    Err(e) => println!("Parse error: {}", e),
}