alopex_sql/parser/
precedence.rs

1#[derive(Debug, Clone, Copy)]
2pub enum Precedence {
3    Period,
4    MulDivMod,
5    PlusMinus,
6    StringConcat,
7    Comparison,
8    Between,
9    Like,
10    Is,
11    UnaryNot,
12    And,
13    Or,
14}
15
16impl Precedence {
17    pub fn value(self) -> u8 {
18        match self {
19            Precedence::Period => 100,
20            Precedence::MulDivMod => 40,
21            Precedence::PlusMinus => 30,
22            Precedence::StringConcat => 25,
23            Precedence::Comparison => 20,
24            Precedence::Between => 20,
25            Precedence::Like => 19,
26            Precedence::Is => 17,
27            Precedence::UnaryNot => 15,
28            Precedence::And => 10,
29            Precedence::Or => 5,
30        }
31    }
32}
33
34pub const PREC_UNKNOWN: u8 = 0;