scarf_syntax/behavioral_statements/
continuous_assignment_and_net_alias_statements.rs1use crate::*;
6
7#[derive(Clone, Debug, PartialEq)]
8pub enum ContinuousAssign<'a> {
9 NetAssignments(
10 Box<(
11 Metadata<'a>, Option<DriveStrength<'a>>,
13 Option<Delay3<'a>>,
14 ListOfNetAssignments<'a>,
15 Metadata<'a>, )>,
17 ),
18 VariableAssignments(
19 Box<(
20 Metadata<'a>, Option<DelayControl<'a>>,
22 ListOfVariableAssignments<'a>,
23 Metadata<'a>, )>,
25 ),
26}
27
28#[derive(Clone, Debug, PartialEq)]
29pub struct ListOfNetAssignments<'a>(
30 pub NetAssignment<'a>,
31 pub Vec<(
32 Metadata<'a>, NetAssignment<'a>,
34 )>,
35);
36
37#[derive(Clone, Debug, PartialEq)]
38pub struct ListOfVariableAssignments<'a>(
39 pub VariableAssignment<'a>,
40 pub Vec<(
41 Metadata<'a>, VariableAssignment<'a>,
43 )>,
44);
45
46#[derive(Clone, Debug, PartialEq)]
47pub struct NetAlias<'a>(
48 pub Metadata<'a>, pub NetLvalue<'a>,
50 pub Metadata<'a>, pub NetLvalue<'a>,
52 pub Vec<(
53 Metadata<'a>, NetLvalue<'a>,
55 )>,
56 pub Metadata<'a>, );
58
59#[derive(Clone, Debug, PartialEq)]
60pub struct NetAssignment<'a>(
61 pub NetLvalue<'a>,
62 pub Metadata<'a>, pub Expression<'a>,
64);