Vl-endinfo-p
Temporary structure created to parse named endings like
endmodule : foo.
(vl-endinfo-p x) is a defaggregate of the following fields.
- name — The name we matched after the colon, e.g., foo above.
Invariant (maybe-stringp name).
- loc — The location of this name, for mismatch reporting.
Invariant (vl-location-p loc).
Source link: vl-endinfo-p
SystemVerilog allows many syntactic constructs such as modules,
user-defined primitives, programs, packages, etc., to optionally be closed
using a verbose syntax that repeats the name. For instance, one can write:
module foo (...);
...
endmodule : foo // <-- named ending
The ending name must match or it's an error, see "Block Names", Section
9.3.4 of the SystemVerilog-2012 spec. Note that these named endings aren't
allowed in Verilog-2005.
An vl-endinfo-p structure is just a temporary structure used by our
parser when we encounter such an ending.
Subtopics
- Vl-endinfo
- Raw constructor for vl-endinfo-p structures.
- Make-vl-endinfo
- Constructor macro for vl-endinfo-p structures.
- Change-vl-endinfo
- A copying macro that lets you create new vl-endinfo-p structures, based on existing structures.
- Make-honsed-vl-endinfo
- Constructor macro for honsed vl-endinfo-p structures.
- Honsed-vl-endinfo
- Raw constructor for honsed vl-endinfo-p structures.
- Vl-endinfo->name
- Access the name field of a vl-endinfo-p structure.
- Vl-endinfo->loc
- Access the loc field of a vl-endinfo-p structure.