use crate::*; // ----------------------------------------------------------------------------- #[derive(Clone, Debug, PartialEq, Node)] pub enum Delay3 { Single(Box), Mintypmax(Box), } #[derive(Clone, Debug, PartialEq, Node)] pub struct Delay3Single { pub nodes: (Symbol, DelayValue), } #[derive(Clone, Debug, PartialEq, Node)] pub struct Delay3Mintypmax { pub nodes: ( Symbol, Paren<( MintypmaxExpression, Option<( Symbol, MintypmaxExpression, Option<(Symbol, MintypmaxExpression)>, )>, )>, ), } #[derive(Clone, Debug, PartialEq, Node)] pub enum Delay2 { Single(Box), Mintypmax(Box), } #[derive(Clone, Debug, PartialEq, Node)] pub struct Delay2Single { pub nodes: (Symbol, DelayValue), } #[derive(Clone, Debug, PartialEq, Node)] pub struct Delay2Mintypmax { pub nodes: ( Symbol, Paren<(MintypmaxExpression, Option<(Symbol, MintypmaxExpression)>)>, ), } #[derive(Clone, Debug, PartialEq, Node)] pub enum DelayValue { UnsignedNumber(Box), RealNumber(Box), PsIdentifier(Box), HierarchicalIdentifier(Box), TimeLiteral(Box), Step1(Box), }