Vl-pattern
A (possibly typed) assignment pattern expression, for instance,
'{a:1, b:2} or foo_t'{head+1, tail-1}.
This is a product type, introduced by deftagsum in support of vl-expr.
Fields
- pat — vl-assignpat
- The inner part of the pattern, i.e., everything but the type.
- pattype — vl-maybe-datatype
- The type for this assignment pattern, if applicable. For
instance, foo_t in the example above.
- atts — vl-atts
- Any (* foo = bar, baz *) style attributes.
This essentially corresponds to the SystemVerilog-2012 grammar
rule for assignment_pattern_expression:
assignment_pattern_expression ::=
[assignment_pattern_expression_type] assignment_pattern
Subtopics
- Vl-patternkey
- A key in an assignment pattern.
- Vl-assignpat
- The (untyped) guts of an assignment pattern, e.g., '{1,2,3},
'{a:1, b:2}, or similar.
- Vl-pattern->pattype
- Get the pattype field from a vl-pattern.
- Make-vl-pattern
- Basic constructor macro for vl-pattern structures.
- Vl-pattern->pat
- Get the pat field from a vl-pattern.
- Vl-pattern->atts
- Get the atts field from a vl-pattern.
- Change-vl-pattern
- Modifying constructor for vl-pattern structures.
- Vl-keyvallist
- An alist mapping vl-patternkey-p to vl-expr-p.