4.6 Identifier Declaration
Identifier shall be used to give an object a unique name so it can be referenced. An identifier shall either be a simple identifier or an escaped identifier.
​
4.6.1 Simple Identifier
It shall be any sequence of letters, digits, dollar signs ($), and the underscore characters (_).
The first character of an identifier shall not be a digit or $; it can be a letter or an underscore. Identifiers shall be case sensitive.
e.g.,
shiftreg_a
busa_index
error_condition
merge_ab
_bus3
n$657
Implementations may set a limit on the maximum length of identifiers, but they shall be at least 1024 characters. If an identifier exceeds the implementation-specified length limit, an error shall be reported.
4.6.2 Escaped Identifiers
Escaped identifiers shall start with the backslash character (\) and end with white space (space, tab, newline, or form feed).
They provide a means of including any of the printable ASCII characters in an identifier (the decimal values 33 through 126 or 21 through 7E in hexadecimal).
Neither the leading backslash character nor the terminating white space is considered to be part of the identifier. Therefore, an escaped identifier \cpu3 is treated the same as a non-escaped identifier cpu3.
e.g.,
\busa+index
\-clock
\***error-condition***
\net1/\net2
\{a,b}
\a*(b+c)