slang/ast/expressions/AssertionExpr.h file

Assertion expression creation and analysis.

Namespaces

namespace slang
Root namespace.
namespace slang::ast
The SystemVerilog AST.

Classes

struct slang::ast::SequenceRange
Represents a range of potential sequence matches.
class slang::ast::AssertionExpr
The base class for assertion expressions (sequences and properties).
struct slang::ast::AssertionExpr::NondegeneracyCheckResult
A result structure for checking nondegeneracy.
class slang::ast::InvalidAssertionExpr
Represents an invalid expression.
struct slang::ast::SequenceRepetition
Encodes a repetition of some sub-sequence.
class slang::ast::SimpleAssertionExpr
Represents an assertion expression defined as a simple regular expression.
class slang::ast::SequenceConcatExpr
Represents an assertion expression defined as a delayed concatenation of other expressions.
struct slang::ast::SequenceConcatExpr::Element
An element of a sequence concatenation.
class slang::ast::SequenceWithMatchExpr
Represents a sequence expression along with a list of actions to perform upon matching and/or instructions for repetition.
class slang::ast::UnaryAssertionExpr
Represents a unary operator in a property expression.
class slang::ast::BinaryAssertionExpr
Represents a binary operator in a sequence or property expression.
class slang::ast::FirstMatchAssertionExpr
Represents a first_match operator in a sequence expression.
class slang::ast::ClockingAssertionExpr
Represents an assertion expression with attached clocking control.
class slang::ast::StrongWeakAssertionExpr
Represents a strong or weak operator in a property expression.
class slang::ast::AbortAssertionExpr
Represents an abort (accept_on / reject_on) property expression.
class slang::ast::ConditionalAssertionExpr
Represents a conditional operator in a property expression.
class slang::ast::CaseAssertionExpr
Represents a case operator in a property expression.
struct slang::ast::CaseAssertionExpr::ItemGroup
A group of items that match one case item.
class slang::ast::DisableIffAssertionExpr
Represents a disable iff condition in a property spec.

Enums

enum class AssertionExprKind { Invalid, Simple, SequenceConcat, SequenceWithMatch, Unary, Binary, FirstMatch, Clocking, StrongWeak, Abort, Conditional, Case, DisableIff }
Specifies possible kinds of assertion expressions.
enum class UnaryAssertionOperator { Not, NextTime, SNextTime, Always, SAlways, Eventually, SEventually }
Specifies possible kinds of unary assertion operators.
enum class BinaryAssertionOperator { And, Or, Intersect, Throughout, Within, Iff, Until, SUntil, UntilWith, SUntilWith, Implies, OverlappedImplication, NonOverlappedImplication, OverlappedFollowedBy, NonOverlappedFollowedBy }
Specifies possible kinds of binary assertion operators.
enum class NondegeneracyStatus { None = 0, AdmitsEmpty = 1 << 0, AcceptsOnlyEmpty = 1 << 1, AdmitsNoMatch = 1 << 2 }
Specifies possible classifications of assertion expressions as they relate to "nondegeneracy", as described in the LRM.