Subject: [sv-ec] Commentary supporting ERR-71 from Brad Pierce.
From: David W. Smith (David.Smith@synopsys.com)
Date: Tue Jan 20 2004 - 10:17:10 PST
Greetings,
Brad is in the far east and will not be able to attend the meeting tomorrow.
He has sent the following commentary supporting the proposal for ERR-71 for
our consideration.
Regards
David
Section ERR-71
Commentary on the BNF proposal for ERR-71
Overview
1) Add a queue_dimension [ $ : [ constant_expression ]]
to variable_dimension.
2) Add $ and the empty_queue {} to primary.
3) Because $ can be used in primary now, simplify
open_value_range ::= value_range, but add a footnote
restricting $ usage to the existing style.
4) Correct an ambiguity in bit/part-select by replacing
{ [ expression ] } [ [ range_expression
] ]
with
{ [ expression] } [ [
range_or_index_range ] ]
(That is, end with an optional range only, instead
of an optional range or expression.)
5) Clean up BNF by factoring
a) the above bit/part-select into
select
b) casting_type ' * into
cast
c) number + time_literal + '0, '1, 'x, 'X,
'z, 'Z into
primary_literal
Details
1) A.2.4 Add queue_dimension to variable_dimension.
2) A.2.5 Make open_value_range a special, footnoted
version of value_range.
3) A.8.1 Define empty_queue and restrict usage with
footnote.
4) A.8.3 Factor range_expression and
constant_range_expression.
5) A.8.4 Define select and constant_select (for 9
below).
6) A.8.4 Group into primary_literal.
7) A.8.4 Group into cast and constant_cast.
8) A.8.4 Add $ to primary with a footnote restricting
its usage.
Add empty_queue to primary.
Factor primary and constant_primary using 5,6,7,10.
9) A.8.5 Factor net_lvalue and variable_lvalue using
constant_select and select (from 4 above).
10) A.8.7 Group '0, '1, 'x, 'X, 'z, 'Z into
unbased_unsized_literal and update the associated footnote.
This archive was generated by hypermail 2b28 : Tue Jan 20 2004 - 10:28:11 PST