Vl-scopeexpr
Representation of a (possibly scoped, possibly hierarchical)
reference to something in the design. For example:
ape::bat::cat.dog[3][2][1].elf.
This is a sum-of-products (i.e., union) type, introduced by defflexsum.
Members
- :colon → vl-scopeexpr-colon
- Represents a single scoping operator (:: being applied to
some interior scopeexpr.
- :end → vl-scopeexpr-end
- A scope expression that has no scoping operators. For instance,
plain identifiers or hierarchical identifiers with no scopes.
A scope expression extends a hid expression with
arbitrarily many levels of scoping. For instance, in the
expression:
ape::bat::cat.dog[3][2][1].elf
The cat.dog[3][2][1].elf part is a plain hierarchical
identifier with no scoping. It will be wrapped up into an :end
scope expression. Meanwhile, the ape:: and bat:: portions
will be represented with two recursive :colon scopeexprs, with
the ape:: expression on the outside.
Subtopics
- Vl-scopeexpr-p
- Recognizer for vl-scopeexpr structures.
- Vl-scopeexpr-colon
- Represents a single scoping operator (:: being applied to
some interior scopeexpr.
- Vl-scopeexpr-equiv
- Basic equivalence relation for vl-scopeexpr structures.
- Vl-scopeexpr-end
- A scope expression that has no scoping operators. For instance,
plain identifiers or hierarchical identifiers with no scopes.
- Vl-scopeexpr->expr
- Promote an vl-scopeexpr into a proper vl-index without
any part select.
- Vl-scopeexpr-kind
- Get the kind (tag) of a vl-scopeexpr structure.
- Vl-scopeexprlist
- A list of vl-scopeexpr-p objects.
- Vl-scopeexpr-fix
- Fixing function for vl-scopeexpr structures.
- Vl-scopeexpr-count
- Measure for recurring over vl-scopeexpr structures.