The nonterminal "empty_queue" is defined as "{}" in A.8.1, and used in "primary_literal" in A.8.4. -- Brad -----Original Message----- From: owner-sv-ec@eda-stds.org [mailto:owner-sv-ec@eda-stds.org] On Behalf Of Steven Sharp Sent: Thursday, August 03, 2006 12:13 PM To: sv-ec@eda-stds.org; adrian@trustic.ro Subject: RE: [sv-ec] Queue delete() method >From: "Adrian Coman" <adrian@trustic.ro> >So, in the end, which version is correct: q = '{} or q = {} ? I saw one simulator >supporting q = {} and another one q = '{} ... In IEEE Std 1800-2005, it is definitely correct to use q = '{}. That is correct syntax for an aggregate literal with a type taken from the left-hand-side of an assignment (an "assignment pattern"). There is some disagreement about whether it would also be correct to use q = {}. That would be syntax for a special queue concatenation operation, whose existence is strongly implied but not properly defined in the LRM. Even if the examples were accepted as a specification, they wouldn't fully define the rules for the operation. They could also be interpreted as examples that were not updated for the change in assignment pattern syntax, and with some other errors. In the older Accellera SystemVerilog 3.1a standard, array and struct literals used {} instead of '{}. This was changed because of potential problems created by ambiguity with concatenations. Some simulators may still not be updated to the IEEE standard. Steven Sharp sharp@cadence.comReceived on Thu Aug 3 12:27:13 2006
This archive was generated by hypermail 2.1.8 : Thu Aug 03 2006 - 12:27:22 PDT