sv_parser_syntaxtree/declarations/
delays.rs1use crate::*;
2
3#[derive(Clone, Debug, PartialEq, Node)]
6pub enum Delay3 {
7 Single(Box<Delay3Single>),
8 Mintypmax(Box<Delay3Mintypmax>),
9}
10
11#[derive(Clone, Debug, PartialEq, Node)]
12pub struct Delay3Single {
13 pub nodes: (Symbol, DelayValue),
14}
15
16#[derive(Clone, Debug, PartialEq, Node)]
17pub struct Delay3Mintypmax {
18 pub nodes: (
19 Symbol,
20 Paren<(
21 MintypmaxExpression,
22 Option<(
23 Symbol,
24 MintypmaxExpression,
25 Option<(Symbol, MintypmaxExpression)>,
26 )>,
27 )>,
28 ),
29}
30
31#[derive(Clone, Debug, PartialEq, Node)]
32pub enum Delay2 {
33 Single(Box<Delay2Single>),
34 Mintypmax(Box<Delay2Mintypmax>),
35}
36
37#[derive(Clone, Debug, PartialEq, Node)]
38pub struct Delay2Single {
39 pub nodes: (Symbol, DelayValue),
40}
41
42#[derive(Clone, Debug, PartialEq, Node)]
43pub struct Delay2Mintypmax {
44 pub nodes: (
45 Symbol,
46 Paren<(MintypmaxExpression, Option<(Symbol, MintypmaxExpression)>)>,
47 ),
48}
49
50#[derive(Clone, Debug, PartialEq, Node)]
51pub enum DelayValue {
52 UnsignedNumber(Box<UnsignedNumber>),
53 RealNumber(Box<RealNumber>),
54 PsIdentifier(Box<PsIdentifier>),
55 HierarchicalIdentifier(Box<HierarchicalIdentifier>),
56 TimeLiteral(Box<TimeLiteral>),
57 Step1(Box<Keyword>),
58}