From: Shalom Bresticker (Shalom.Bresticker@motorola.com)
Date: Thu May 02 2002 - 04:40:40 PDT
My two cents (or agorot, in Israeli currency):
I brought this up in errata/22 at the end of August 2001, in:
http://boyd.com/1364_btf/archive/btf_2001/1490.html and
http://boyd.com/1364_btf/archive/btf_2001/1504.html
At the time, I was working on the hyperlinked version of the BNF.
I assumed that "@ ( * )" are 4 separate tokens.
I reasoned as followed:
Since "@a" is legal, obviously "@" is a separate token. ("a" is an identifier.)
Then if "@" and "a" are tokens, and "@(a)" is legal, then "(" and ")" are also separate tokens.
So if I have "@*" or "@(*)" , then it seems that all I have done is use "*" instead of the identifier "a",
and "*" is also a separate token.
I fixed the BNF accordingly, inserting spaces between all of these.
I still don't see a convincing argument to change that,
especially since Paul points out that the "(*" cannot be an attribute.
By the way, Cliff, have you received my recent emails to you ?
Thanks,
Shalom
Paul Graham wrote:
> > If I had thought of the @(* ... ) and (* ... *) ambiguity, I would have
> > used it to back my objection to @(*).
> >
> > If you find @ followed by ( is this non-ambiguous?
>
> It turns out that an attribute is not allowed between the '@' and the
> opening '(' of the event list. So when you see '@' followed by '(*' you
> know it can't be an attribute. In my parser I have three separate
> productions to handle the wildcard sensitivity list:
>
> wildcard : '@' '*' | '@' '(*' ')' | '@' '(' '*' ')'
>
> It seems like a lot of work for a little piece of syntactic sugar!
>
> This touches back on my question about whether '+:' is one token or two.
> The VHDL LRM explictly lists all the one- and two-character tokens. The
> Verilog LRM does not do this. It's up to the implementors to figure it out.
-- Shalom Bresticker Shalom.Bresticker@motorola.com Principal Staff Engineer Tel: +972 9 9522268 Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890 POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:55:36 PDT
and
sponsored by Boyd Technology, Inc.