blob: f2b109032685f40b423e693c53c30e9d9f18dae2 (
plain)
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
|
//! Filter expression language.
//!
//! This module contains methods to parse a given string into an abstract filter tree, check its
//! type and convert it to a [`Filter`][super::filters::Filter].
// Make it available in the grammar mod.
use super::{filters, FightOutcome, SearchField, Weekday};
use lalrpop_util::lalrpop_mod;
use thiserror::Error;
lalrpop_mod!(pub grammar, "/fexpr/grammar.rs");
#[derive(Debug, Error)]
pub enum FError {
#[error("invalid regular expression: {0}")]
InvalidRegex(String),
#[error("invalid fight outcome: {0}")]
InvalidFightOutcome(String),
#[error("invalid weekday: {0}")]
InvalidWeekday(String),
#[error("invalid timestamp: {0}")]
InvalidTimestamp(String),
#[error("invalid boss name: {0}")]
InvalidBoss(String),
}
|