leo_grammar/operations/
assign_operation.rs1use crate::ast::Rule;
18
19use pest_ast::FromPest;
20use serde::Serialize;
21
22#[derive(Clone, Debug, FromPest, PartialEq, Serialize)]
23#[pest_ast(rule(Rule::operation_assign))]
24pub enum AssignOperation {
25 Assign(Assign),
26 AddAssign(AddAssign),
27 SubAssign(SubAssign),
28 MulAssign(MulAssign),
29 DivAssign(DivAssign),
30 PowAssign(PowAssign),
31}
32
33#[derive(Clone, Debug, FromPest, PartialEq, Serialize)]
34#[pest_ast(rule(Rule::assign))]
35pub struct Assign {}
36
37#[derive(Clone, Debug, FromPest, PartialEq, Serialize)]
38#[pest_ast(rule(Rule::operation_add_assign))]
39pub struct AddAssign {}
40
41#[derive(Clone, Debug, FromPest, PartialEq, Serialize)]
42#[pest_ast(rule(Rule::operation_sub_assign))]
43pub struct SubAssign {}
44
45#[derive(Clone, Debug, FromPest, PartialEq, Serialize)]
46#[pest_ast(rule(Rule::operation_mul_assign))]
47pub struct MulAssign {}
48
49#[derive(Clone, Debug, FromPest, PartialEq, Serialize)]
50#[pest_ast(rule(Rule::operation_div_assign))]
51pub struct DivAssign {}
52
53#[derive(Clone, Debug, FromPest, PartialEq, Serialize)]
54#[pest_ast(rule(Rule::operation_pow_assign))]
55pub struct PowAssign {}