RE: [sv-ec] Invalid example of srandom - mantis 1391

From: Arturo Salz <Arturo.Salz_at_.....>
Date: Fri Mar 24 2006 - 00:40:49 PST
Dave,

The fact that it appears in any table at all means that the intent was
certainly to have '.' as an operator. In fact, the SystemVerilog-3.1a
LRM includes only one such table to list all operators: Table 7-2 which
became Table 8-3 in P1800. When Table 8-1 was added to P1800, the editor
omitted the '.' operator (it was mostly likely done by editing an older
version of the operator table). Thus, to attempt to conclude intent from
a popularity contest is plain wrong. The only sensible thing to do is to
call this what it is: "a typo". Then the course of action is clear: we
fix it, and move on.

I'm not sure I understand your point about 12.3.1 becoming ambiguous.

	Arturo

-----Original Message-----
From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of
Rich, Dave
Sent: Wednesday, March 22, 2006 11:19 AM
To: Brad Pierce; sv-ec@eda.org
Subject: RE: [sv-ec] Invalid example of srandom - mantis 1391

Brad,

But it's not listed as an operator in syntax box 8-1 or table 8-2, so
best 2 out of three wins. :)

There's a bigger issue in that allowing a function name in the middle of
a hierarchical path would create an ambiguity between referencing a
member of that function or a member of the class the function is
pointing to. See 12.3.1

Dave

> -----Original Message-----
> From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of
Brad
> Pierce
> Sent: Wednesday, March 22, 2006 7:49 AM
> To: sv-ec@eda.org
> Subject: Re: [sv-ec] Invalid example of srandom - mantis 1391
> 
> method_call_root was not just added to handle 'this' and 'super', but
to
> support method calls for any expressions that yield handles allowing
> such calls.
> 
> An example like the following from 7.11
> 
>    p.next.next.next.val
> 
> would still be legal as
> 
>    p.next().next().next().val
> 
> Otherwise one could only chain through a sequence of handles using
> default argument values.
> 
> -- Brad
> 
> p.s. According to Table 8-3, dot is an operator.
> 
> 
> -----Original Message-----
> From: Rich, Dave [mailto:Dave_Rich@mentor.com]
> Sent: Tuesday, March 21, 2006 10:59 PM
> To: Brad Pierce; sv-ec@eda.org
> Subject: RE: [sv-ec] Invalid example of srandom - mantis 1391
> 
> Brad,
> 
> ERR-47 was added to allow things like this.method_call() and
> super.method_call(). It still does not make '.' an operator.
> 
> > -----Original Message-----
> > From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of
> Brad
> > Pierce
> > Sent: Tuesday, March 21, 2006 10:29 PM
> > To: sv-ec@eda.org
> > Subject: Re: [sv-ec] Invalid example of srandom - mantis 1391
> >
> > >That would be true if '.' was defined as an operator, but it's not
in
> > >SystemVerilog; it's a hierarchical identifier separator.
> >
> > That interpretation is not consistent with
> >
> >    http://www.eda.org/sv-ec/Errata/ERR_47.html
> >
> > which introduced "method_call_root" to the BNF on Dec. 15, 2003
> >
> >
http://www.eda.org/sv-ec/Minutes/SV-EC-Minutes-2003-December-15.txt
> >
> > See also
> >
> >    http://www.eda.org/sv-bc/hm/1733.html
> >
> > -- Brad
> >
> >
> 
Received on Fri Mar 24 00:40:57 2006

This archive was generated by hypermail 2.1.8 : Fri Mar 24 2006 - 00:41:17 PST