Skip to main content

Parser

Struct Parser 

Source
pub struct Parser<'a> { /* private fields */ }
Expand description

A parser for EventQL expressions and queries.

The parser takes a stream of tokens and builds an abstract syntax tree (AST) representing the structure of the EventQL query or expression.

Implementations§

Source§

impl<'a> Parser<'a>

Source

pub fn new(arena: &'a mut Arena, input: &'a [Token<'a>]) -> Self

Creates a new parser from a slice of tokens.

§Example
use eventql_parser::Session;

let session = Session::builder().build();
let tokens = session.tokenize("1 + 2").unwrap();
Source

pub fn parse_expr(&mut self) -> ParseResult<ExprRef>

Parses a single expression from the token stream.

This method can be used to parse individual expressions rather than complete queries. It’s useful for testing or for parsing expression fragments.

§Returns

Returns the parsed expression, or a parse error if the tokens don’t form a valid expression.

§Example
use eventql_parser::Session;

let session = Session::builder().build();
let tokens = session.tokenize("NOW()").unwrap();

Auto Trait Implementations§

§

impl<'a> Freeze for Parser<'a>

§

impl<'a> RefUnwindSafe for Parser<'a>

§

impl<'a> Send for Parser<'a>

§

impl<'a> Sync for Parser<'a>

§

impl<'a> Unpin for Parser<'a>

§

impl<'a> !UnwindSafe for Parser<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.