Add Proposal | Add Analysis | Edit Class, Environment, or Release |
Number | 290
|
Category | errata
|
Synopsis | 2.7: Escaping keyword identifiers
|
State | open
|
Class | errata-discuss
|
Arrival-Date | Mar 02 2003
|
Originator | "Brad Pierce" <Brad.Pierce@synopsys.com>
|
Release | 2001b: 2.7.1, 2.7.3
|
Environment |
|
Description |
In 2.7.1, regarding escaped identifiers -- "Neither the leading backslash character nor the terminating white space is considered to be part of the identifer. Therefore, an escaped identifier \cpu3 is treated the same as a nonescaped identifier cpu3." In 2.7.3, regarding keywords -- "Keywords are predefined identifiers that are used to define the language constructs. A Verilog HDL keyword preceded by an escape character is not interpreted as a keyword." Therefore an escaped identifer \module is not treated the same as a nonescaped identifier module. These paragraphs contradict each other. To me the exception for keywords doesn't make sense. But if the exception must be preserved, then section 2.7.1 should explicitly note it. -- Brad |
Fix |
|
Audit-Trail |
From: Stephen Williams <steve@icarus.com> To: "Brad Pierce" <Brad.Pierce@synopsys.com> Cc: etf-bugs@boyd.com Subject: Re: errata/290: Escaping keyword identifiers Date: Sun, 02 Mar 2003 09:48:01 -0800 In 2.7.1, regarding escaped identifiers -- "Neither the leading backslash character nor the terminating white space is considered to be part of the identifer. Therefore, an escaped identifier \cpu3 is treated the same as a nonescaped identifier cpu3." In 2.7.3, regarding keywords -- "Keywords are predefined identifiers that are used to define the language constructs. A Verilog HDL keyword preceded by an escape character is not interpreted as a keyword." Brad.Pierce@synopsys.com said: > These paragraphs contradict each other. To me the exception for > keywords doesn't make sense. But if the exception must be preserved, > then section 2.7.1 should explicitly note it. They contradict only in the sense that keywords are unfortunately called "predefined identifiers" which they are not. They are keywords. They are lexical tokens. The "module" token is no more an identifier then the '+' character or an opening bracket '[' character. I don't think that the combination of your quotes causes one to conclude that \+ is the same as "+" and is therefore not an identifer. I therefore submit that confusion is from an unfortunate definition of a keyword. -- Steve Williams "The woods are lovely, dark and deep. steve at icarus.com But I have promises to keep, steve at picturel.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep." |
Unformatted |
|
Hosted by Boyd Technology