[sv-ec] Commentary supporting ERR-71 from Brad Pierce.


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