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.comReceived 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