scarf_syntax/expressions/
operators.rs1use crate::*;
7
8#[derive(Clone, Debug, PartialEq)]
9pub enum UnaryOperator<'a> {
10 Plus(Metadata<'a>),
11 Minus(Metadata<'a>),
12 Exclamation(Metadata<'a>),
13 Tilde(Metadata<'a>),
14 Amp(Metadata<'a>),
15 TildeAmp(Metadata<'a>),
16 Pipe(Metadata<'a>),
17 TildePipe(Metadata<'a>),
18 Caret(Metadata<'a>),
19 TildeCaret(Metadata<'a>),
20 CaretTilde(Metadata<'a>),
21}
22
23#[derive(Clone, Debug, PartialEq)]
24pub enum BinaryOperator<'a> {
25 Plus(Metadata<'a>),
26 Minus(Metadata<'a>),
27 Star(Metadata<'a>),
28 Slash(Metadata<'a>),
29 Percent(Metadata<'a>),
30 EqEq(Metadata<'a>),
31 ExclEq(Metadata<'a>),
32 EqEqEq(Metadata<'a>),
33 ExclEqEq(Metadata<'a>),
34 EqEqQuest(Metadata<'a>),
35 ExclEqQuest(Metadata<'a>),
36 AmpAmp(Metadata<'a>),
37 PipePipe(Metadata<'a>),
38 StarStar(Metadata<'a>),
39 Lt(Metadata<'a>),
40 LtEq(Metadata<'a>),
41 Gt(Metadata<'a>),
42 GtEq(Metadata<'a>),
43 Amp(Metadata<'a>),
44 Pipe(Metadata<'a>),
45 Caret(Metadata<'a>),
46 CaretTilde(Metadata<'a>),
47 TildeCaret(Metadata<'a>),
48 GtGt(Metadata<'a>),
49 LtLt(Metadata<'a>),
50 GtGtGt(Metadata<'a>),
51 LtLtLt(Metadata<'a>),
52 MinusGt(Metadata<'a>),
53 LtMinusGt(Metadata<'a>),
54}
55
56#[derive(Clone, Debug, PartialEq)]
57pub enum IncOrDecOperator<'a> {
58 PlusPlus(Metadata<'a>),
59 MinusMinus(Metadata<'a>),
60}
61
62#[derive(Clone, Debug, PartialEq)]
63pub enum UnaryModulePathOperator<'a> {
64 Exclamation(Metadata<'a>),
65 Tilde(Metadata<'a>),
66 Amp(Metadata<'a>),
67 TildeAmp(Metadata<'a>),
68 Pipe(Metadata<'a>),
69 TildePipe(Metadata<'a>),
70 Caret(Metadata<'a>),
71 TildeCaret(Metadata<'a>),
72 CaretTilde(Metadata<'a>),
73}
74
75#[derive(Clone, Debug, PartialEq)]
76pub enum BinaryModulePathOperator<'a> {
77 EqEq(Metadata<'a>),
78 ExclEq(Metadata<'a>),
79 AmpAmp(Metadata<'a>),
80 PipePipe(Metadata<'a>),
81 Amp(Metadata<'a>),
82 Pipe(Metadata<'a>),
83 Caret(Metadata<'a>),
84 CaretTilde(Metadata<'a>),
85 TildeCaret(Metadata<'a>),
86}