fips_md/parser/
statement.rs1use super::{CompileTimeConstant, Expression, FipsType};
4
5#[derive(Clone,PartialEq,Debug)]
7pub enum Statement {
8 Let(LetStatement),
9 Assign(AssignStatement),
10 Update(UpdateStatement),
11 Call(CallStatement)
12}
13
14#[derive(Clone,PartialEq,Debug)]
16pub struct LetStatement {
17 pub name: String,
18 pub typ: FipsType,
19 pub initial: Expression
20}
21
22#[derive(Clone,PartialEq,Debug)]
24pub struct AssignStatement {
25 pub assignee: String,
26 pub value: Expression,
27 pub index: Option<CompileTimeConstant<usize>>
28}
29
30#[derive(Clone,PartialEq,Debug)]
32pub struct UpdateStatement {
33 pub interaction: String,
34 pub quantity: Option<String>
35}
36
37#[derive(Clone,PartialEq,Debug)]
39pub struct CallStatement {
40 pub name: String
41}