slang::ast::SequenceRepetition struct

Encodes a repetition of some sub-sequence.

Public types

enum Kind { Consecutive, Nonconsecutive, GoTo }
The kind of repetition.

Public functions

auto checkNondegeneracy() const -> AssertionExpr::NondegeneracyCheckResult
Checks whether this assertion expression is nondegenerate or whether it has properties of degeneracy (admitting empty matches or no matches at all).
auto applyTo(SequenceRange other) const -> SequenceRange
Applies the repetition to the given range, scaling it and returning the result.

Public variables

SequenceRange range
The range of cycles over which to repeat.

Enum documentation

enum slang::ast::SequenceRepetition::Kind

The kind of repetition.

Enumerators
Consecutive

A repetition with a match on each consecutive cycle.

Nonconsecutive

A nonconsecutive repetition that does not necessarily end at the last iterative match.

GoTo

A nonconsecutive repetition which ends at the last iterative match.