Thnaks Shalom, I'm aware of that LRM text can restrict BNF. But I've read chapter about hier names (19.14) - and there is no word about that. There is also no footnote made for the definition of : hierarchical_identifier ::= [ $root . ] { identifier constant_bit_select . } identifier So where it can be found. Maybe the draft clear this out - but i have no access to that. If not I think that such footnote should be added. Maybe my definition of hier ref is better: hierarchical_identifier ::= [ $root . ] constant_bit_select . { identifier constant_bit_select . } [identifier] DANiel -----Original Message----- From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] Sent: Tuesday, January 22, 2008 5:18 PM To: danielm Cc: sv-ec@eda.org Subject: RE: [sv-ec] $root vs $unit The BNF is not everything. The LRM text supplements the BNF. $root.a is legal if the reference is to a top-level instance a. Shalom > -----Original Message----- > From: danielm [mailto:danielm@aldec.com.pl] > Sent: Tuesday, January 22, 2008 6:10 PM > To: 'Steven Sharp'; gordonv@model.com; Mark.Hartoog@synopsys.com > Cc: Bresticker, Shalom; sv-ec@eda.org > Subject: RE: [sv-ec] $root vs $unit > > >>>The LRM says that $root can be added to the front of a > hiearchical name. > > Above is false LRM states that: > hierarchical_identifier ::= [ $root . ] { identifier > constant_bit_select . } identifier And > - Braces ( { } ) enclose items that can be repeated zero or more > times. > > From both above : > hierarchical_identifier ::= [ $root . ] identifier Is allowed > > It would be as you said if we change the definition to: > hierarchical_identifier ::= [ $root . ] identifier > constant_bit_select . { identifier constant_bit_select . } identifier > > DANiel > > -----Original Message----- > From: Steven Sharp [mailto:sharp@cadence.com] > Sent: Tuesday, November 06, 2007 7:43 PM > To: gordonv@model.com; danielm@aldec.com.pl; Mark.Hartoog@synopsys.com > Cc: shalom.bresticker@intel.com; sv-ec@eda.org > Subject: RE: [sv-ec] $root vs $unit > > > >As Gord indicates $root.<typeName> is illegal in P1800. > > The illegality goes beyond the fact that hierarchical names are not > allowed in type references. It would also be illegal to have > $root.<varName>. The LRM says that $root can be added to the front of > a hiearchical name. But a hierarchical name must start with a scope > (which would have to be a top-level instance in this case). > > I don't think I have ever seen this pointed out before, but it follows > from the LRM text, and neatly avoids a problem. > > As Shalom pointed out, $root.<identifier> could be ambiguous if the > same identifier name appears in multiple $units. However, this is not > a legal hierarchical name unless <identifier> is a top-level instance. > Since top-level instance names must be unique, the problem is avoided. > > So the old meaning of $root to talk about things in the top-level > scope is completely gone, replaced by $unit. > > Steven Sharp > sharp@cadence.com > > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Tue Jan 22 08:32:21 2008
This archive was generated by hypermail 2.1.8 : Tue Jan 22 2008 - 08:32:28 PST