1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
use crate::lexer::Span; #[derive(Debug)] pub enum Expr { And(Box<Expression>, Box<Expression>), Or(Box<Expression>, Box<Expression>), Not(Box<Expression>), Equal(String, String), EqualCI(String, String), Greater(String, String), Less(String, String), Wildcard(String, String), Regex(String, String), } #[derive(Debug)] pub struct Expression { pub span: Span, pub node: Expr, } #[derive(Debug)] pub struct Search { pub stmts: Vec<Expression>, }