ISSUE 290

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-DateMar 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