From: Dennis Marsa (drm@xilinx.com)
Date: Fri Jan 31 2003 - 08:00:01 PST
Precedence: bulk
The following reply was made to PR errata/123; it has been noted by GNATS.
From: Dennis Marsa <drm@xilinx.com>
To: Shalom.Bresticker@motorola.com
Cc: etf-bugs@boyd.com
Subject: Re: errata/123: PROPOSAL - Fwd: identifier and indexing syntax
Date: Fri, 31 Jan 2003 08:57:33 -0700
Shalom.Bresticker@motorola.com wrote:
>
> On Sat, 25 Jan 2003, Shalom Bresticker wrote:
>
> #123 started as a problem with the production of the non-terminal "primary" in
> the BNF. Specifically with the 4 lines describing hierarchical_identifiers.
> #181 combines those 4 lines into 1 line, but does not solve the problem of #123.
> The following proposal builds on #181, but further modifies it to solve as much
> as possible the problem of #123, also.
The proposal for this errata does not address the issue I tried to describe
when this issue was opened.
First, in #181, we reduced the 4 alternatives involving hierarchical_identifier down
to the following one alternative for the "primary" rule:
hierarchical_identifier { '[' expression ']' } [ '[' range_expression ']' ]
*
> > Replace the existing alternatives of
> > hierarchical_identifier in the primary production
> > with the following:
> >
> > hierarchical_identifier [ { '[' expression ']' } '[' range_expression ']' ]
*
This just moves the opening [ earlier in the production. I don't think this changes
anything, so don't see any benefit in making the above change. Note that it also
places a {} group within a [] group. Haven't we undone several occurrences of that
in recent erratas since it is redundant?
The original issue I was trying to get at with this errata was that the definition of
"hierarchical_identifier" itself also includes syntax for indexing (presumably to
describe indexing into generated for-loops), as well as the above alternative of
"primary", which leads to an ambiguity in the BNF. So, if trying to derive a "primary"
from a.b[1], is the [1] consumed as part of applying "hierarchical_identifier", or is
it consumes as an optional index that follows "hierarchical_identifier" in the
alternative of "primary" shown above?
In the time since this issue was opened, I have pretty much concluded that there
isn't much that can be done to remove this ambiguity from the BNF, so I no longer
think we should attempt it.
Independently however, I believe the syntax for "hierarchical_identifier" can be
vastly simplified as Shalom indicated in:
http://boydtechinc.com/etf/archive/etf_2003/0943.html
However this should be addressed as a separate issue.
> Then I said that what is good for "primary" is also good for "net_lvalue" and
> "variable_lvalue", which we modified in #53 the same way we did to "primary" in
> #181.
These following changes to net_lvalue and variable_lvalue also simply reposition the
opening [ making all the indexing syntax optional. But, as it is already optional,
so this change has no real effect.
I think we should close this issue and take no action.
Dennis
> > ************************************************************
> >
> > Shalom's addition (2003-01-23):
> >
> > If this change is accepted,
> > then presumably the same change should be made to
> > net_lvalue and variable_lvalue, modifiying the fixes to
> > issues #53 and #181:
> >
> > CHANGE from (after the fixes in #53):
> >
> > net_lvalue ::=
> > hierarchical_net_identifier {'['constant_expression']'}
> > ['['constant_range_expression']']
> > | '{' net_lvalue { ',' net_lvalue } '}'
> >
> > variable_lvalue ::=
> > hierarchical_variable_identifier {'['expression']'}
> > ['['range_expression']']
> > | '{' variable_lvalue { ',' variable_lvalue } '}'
> >
> >
> > TO:
> >
> >
> > net_lvalue ::=
> > hierarchical_net_identifier [{'['constant_expression']'}
> > '['constant_range_expression']']
> > | '{' net_lvalue { ',' net_lvalue } '}'
> >
> > variable_lvalue ::=
> > hierarchical_variable_identifier [{'['expression']'}
> > '['range_expression']']
> > | '{' variable_lvalue { ',' variable_lvalue } '}'
> >
> > ************************************************************
> > http://boydtechinc.com/cgi-bin/issueproposal.pl?cmd=view&pr=123
> >
>
>
This archive was generated by hypermail 2.1.4
: Fri Jan 31 2003 - 08:00:38 PST
and
sponsored by Boyd Technology, Inc.