RE: [sv-ec] Queue delete() method

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Thu Aug 03 2006 - 12:27:00 PDT
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.com
Received 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