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