prqlc_parser/parser/pr/
ops.rs1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(
5 Debug,
6 PartialEq,
7 Eq,
8 Clone,
9 Copy,
10 Hash,
11 Serialize,
12 Deserialize,
13 strum::Display,
14 strum::EnumString,
15 JsonSchema,
16)]
17pub enum UnOp {
18 #[strum(to_string = "-")]
19 Neg,
20 #[strum(to_string = "+")]
21 Add, #[strum(to_string = "!")]
23 Not,
24 #[strum(to_string = "==")]
25 EqSelf,
26}
27
28#[derive(
29 Debug,
30 PartialEq,
31 Eq,
32 Clone,
33 Copy,
34 Hash,
35 Serialize,
36 Deserialize,
37 strum::Display,
38 strum::EnumString,
39 JsonSchema,
40)]
41pub enum BinOp {
42 #[strum(to_string = "*")]
43 Mul,
44 #[strum(to_string = "//")]
45 DivInt,
46 #[strum(to_string = "/")]
47 DivFloat,
48 #[strum(to_string = "%")]
49 Mod,
50 #[strum(to_string = "**")]
51 Pow,
52 #[strum(to_string = "+")]
53 Add,
54 #[strum(to_string = "-")]
55 Sub,
56 #[strum(to_string = "==")]
57 Eq,
58 #[strum(to_string = "!=")]
59 Ne,
60 #[strum(to_string = ">")]
61 Gt,
62 #[strum(to_string = "<")]
63 Lt,
64 #[strum(to_string = ">=")]
65 Gte,
66 #[strum(to_string = "<=")]
67 Lte,
68 #[strum(to_string = "~=")]
69 RegexSearch,
70 #[strum(to_string = "&&")]
71 And,
72 #[strum(to_string = "||")]
73 Or,
74 #[strum(to_string = "??")]
75 Coalesce,
76}