Re: [sv-bc] $bits question

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Fri Jan 13 2006 - 11:51:49 PST
According to A.8.2 --

system_tf_call ::=
    system_tf_identifier [ ( list_of_arguments ) ]
|   system_tf_identifier ( data_type [ , expression ] )

The Syntax boxes are intended as informative commentary for the reader.
Sometimes, as in this case, they are not mere excerpts from the
normative BNF in Annex A, but are informative specializations of it.
Removing the Syntax boxes should not alter the LRM, except to make it
less user-friendly.

-- Brad 

-----Original Message-----
From: Steven Sharp [mailto:sharp@cadence.com] 
Sent: Friday, January 13, 2006 11:45 AM
To: sv-bc@eda.org; Brad.Pierce@synopsys.COM
Subject: Re: [sv-bc] $bits question


>There is no separate BNF for a call to $bits, it's just an ordinary
>system_tf_call as defined in A.8.2.

There is a syntax box 22-3 (explicitly noted as not being in Annex A)
that allows 

size_function ::=
	$bits(expression) |
	$bits(data_type)

The second production allows arbitrary type declarations, which does
not match what is allowed by the BNF.  This could be considered a
contradiction in the LRM, or a special case rule overriding what the
BNF normally allows.  Regardless, I am proposing that the second
production should be removed, and text added that says that a type
name is allowed as an argument.  It actually gets a little more involved
than that if you want to allow the built-in types (e.g. int), since
those are not identifiers or legal expressions.

Steven Sharp
sharp@cadence.com
Received on Fri Jan 13 11:51:53 2006

This archive was generated by hypermail 2.1.8 : Fri Jan 13 2006 - 11:52:31 PST