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:20:50 2008
This archive was generated by hypermail 2.1.8 : Tue Jan 22 2008 - 08:21:23 PST