RE: [sv-bc] Aggregate expressions

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Thu Mar 06 2008 - 07:45:49 PST
> For example, what is '{default:'0} ?

An assignment pattern is not an expression, and it has neither a value
nor a data type.  In particular, an assignment pattern is not an
aggregate expression.

As the LRM says 

    http://www.eda-stds.org/svdb/view.php?id=623

"An assignment pattern can be used to construct or deconstruct a
structure or array by prefixing the pattern with the name of a data type
to form an assignment pattern expression. Unlike an assignment pattern,
an assignment pattern expression has a self-determined data type and is
not restricted to being one of the sides in an assignment-like context.
When an assignment pattern expression is used in a right-hand
expression, it shall yield the value that a variable of the data type
would hold if it were initialized using the assignment pattern."


-- Brad

-----Original Message-----
From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of
Bresticker, Shalom
Sent: Thursday, March 06, 2008 1:59 AM
To: Greg Jaxon
Cc: Rich, Dave; sv-bc
Subject: RE: [sv-bc] Aggregate expressions

But also an assignment pattern is not itself a structure or an array.
For example, what is '{default:'0} ?

Shalom 

> -----Original Message-----
> From: Greg Jaxon [mailto:Greg.Jaxon@synopsys.com]
> Sent: Wednesday, March 05, 2008 11:56 PM
> To: Bresticker, Shalom
> Cc: Rich, Dave; Greg Jaxon; sv-bc
> Subject: Re: [sv-bc] Aggregate expressions
> 
> Shalom makes a fair criticism.  Here's another phrasing:
> "Unpacked structures and arrays (either referenced as data objects  or

> constructed by assignment patterns) can be combined into  aggregate 
> expressions."
> 
> 
> 
> 
> Bresticker, Shalom wrote:
> > A data object is not defined that in the LRM. 6.2 says,
> > 
> > "A data object is a named entity that has a data value
> associated with
> > it, such as a parameter, a variable, or a net."
> > 
> > And the LRM consistently uses 'data object' with that meaning. You 
> > can't change its meaning in a single place.
> > 
> > Shalom
> > 
> >> -----Original Message-----
> >> From: owner-sv-bc@server.eda.org
> >> [mailto:owner-sv-bc@server.eda.org] On Behalf Of Rich, Dave
> >> Sent: Wednesday, March 05, 2008 9:46 AM
> >> To: Bresticker, Shalom; Greg Jaxon
> >> Cc: sv-bc
> >> Subject: RE: [sv-bc] Aggregate expressions
> >>
> >> It sure is - essentially it's an anonymous variable.
> >>
> >>> -----Original Message-----
> >>> From: owner-sv-bc@server.eda.org
> [mailto:owner-sv-bc@server.eda.org]
> >> On
> >>> Behalf Of Bresticker, Shalom
> >>> Sent: Tuesday, March 04, 2008 11:31 PM
> >>> To: Greg Jaxon
> >>> Cc: sv-bc
> >>> Subject: RE: [sv-bc] Aggregate expressions
> >>>
> >>> But an assignment pattern is not a data object.
> >>>
> >>> Shalom
> >>>
> >>>> -----Original Message-----
> >>>> From: Greg Jaxon [mailto:Greg.Jaxon@synopsys.com]
> >>>> Sent: Tuesday, March 04, 2008 6:14 PM
> >>>>
> >>>> How about?
> >>>>
> >>>> "Unpacked structure and array data objects, including those 
> >>>> constructed using assignment patterns, can be combined into 
> >>>> aggregate expressions."
> >>>>
> >>>> The paragraph that follows /is/ sort of a hodge podge.
> >>>> Sentences seems to just be throwing some things into the pot of 
> >>>> "unpacked data object"
> >>>> and others throw operators like equality into the pot of
> >> aggregate
> >>>> expression.
> >>>> I agree that ?: is an aggregate expression operator.
> >>>>
> >>>> We're a long way from thinking of this as a first class array 
> >>>> language.
> >>>>
> >>>> Greg
> >>>>
> >>>> Bresticker, Shalom wrote:
> >>>>> Does anyone object to the editor replacing 'constructors' with 
> >>>>> 'assignment patterns'?
> >>>> --------------------------------------------------------------
> >>>>>     *From:* owner-sv-bc@server.eda.org
> >>>>>     [mailto:owner-sv-bc@server.eda.org] *On Behalf Of
> >>>> *Bresticker, Shalom
> >>>>>     *Sent:* Thursday, February 28, 2008 12:20 PM
> >>>>>
> >>>>>     I also don't think the term 'aggregate expression' is
> >>>> well defined.
> >>>>>     I also don't think the first sentence makes sense:
> >>>>>     "Unpacked structure and array data objects, as well as
> >> unpacked
> >>>>>     structure and array constructors, can all be used
> >> as aggregate
> >>>>>     expressions."
> >>>>>
> >>>>>     What is meant by "unpacked structure and array
> >>>> constructors," which
> >>>>>     are different from data objects?
> >>>>>
> >>>>>     The version of this sentence in SV 3.1a is,
> >>>>>
> >>>>>     "Unpacked structure and array variables, literals, and
> >>>> expressions
> >>>>>     can all be used as aggregate expressions."
> >>>>>
> >>>>>     So "literals and expressions" are contrasted to "variables".
> >> In
> >>>>>     1800, we still have structure and array "literals". But what
> >> are
> >>>>>     called structure and array "expressions" in 3.1a, are now
> >> called
> >>>>>     "assignment patterns". Since structure and array
> >>>> literals are a form
> >>>>>     of assignment patterns, I think "constructors" in
> >> the sentence
> >>>>>     should be replaced with "assignment patterns".
> >>>>>
> >>>>>     Shalom
> >> 
> ---------------------------------------------------------------------
> >> -
> >>> \
> >>>>>          *From:* owner-sv-bc@server.eda.org
> >>>>>         [mailto:owner-sv-bc@server.eda.org] *On Behalf Of
> >>>> *Bresticker,
> >>>>>         Shalom
> >>>>>         *Sent:* Thursday, February 28, 2008 11:47 AM
> >>>>>
> >>>>>         I don't think this paragraph was intended to be a
> >>>> complete list.
> >>>>>         Shalom
> >>>> --------------------------------------------------------------
> >>>>>             *From:* owner-sv-bc@server.eda.org
> >>>>>             [mailto:owner-sv-bc@server.eda.org] *On Behalf
> >>>> Of *danielm
> >>>>>             *Sent:* Thursday, February 28, 2008 11:40 AM
> >>>>>
> >>>>>             1800-2005 states :
> >>>>>             Unpacked structure and array data objects,
> >> as well as
> >>>>>             unpacked structure and array constructors, can
> >>>> all be used
> >>>>>             as aggregate expressions. A multi-element
> >> slice of an
> >>>>>             unpacked array can also be used as an aggregate
> >>>> expression.
> >>>>>             Aggregate expressions can be copied in an
> >> assignment,
> >>>>>             through a port, or as an argument to a task or
> >> function.
> >>>>>             Aggregate expressions can also be compared with
> >>>> equality or
> >>>>>             inequality operators. To be copied or compared,
> >>>> the type of
> >>>>>             an aggregate expression must be equivalent. 
> >> See 6.9.2.
> >>>>>             IMHO there is more expression when aggregate
> >>>> expression are
> >>>>>             sensible i.e: conditional operator (?:), function
> >> return
> >>>>>             value. Maybe there are more?
> >>>>>
> >>>>>             Will 1800-2005 add some operators to this
> >> description?
> >>>>>             DANiel
> >> 
> ---------------------------------------------------------------------
> >>> Intel Israel (74) Limited
> >>>
> >>> This e-mail and any attachments may contain confidential
> >> material for
> >>> the sole use of the intended recipient(s). Any review or
> >> distribution
> >>> by others is strictly prohibited. If you are not the intended 
> >>> recipient, please contact the sender and delete all copies.
> >>>
> >>>
> >>> --
> >>> This message has been scanned for viruses and dangerous
> content by
> >>> MailScanner, and is believed to be clean.
> >>>
> >>
> >> --
> >> This message has been scanned for viruses and dangerous content by 
> >> MailScanner, and is believed to be clean.
> >>
> >>
> >>
> > 
> ---------------------------------------------------------------------
> > Intel Israel (74) Limited
> > 
> > This e-mail and any attachments may contain confidential
> material for
> > the sole use of the intended recipient(s). Any review or
> distribution
> > by others is strictly prohibited. If you are not the intended 
> > recipient, please contact the sender and delete all copies.
> > 
> 
> 
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution by
others is strictly prohibited. If you are not the intended recipient,
please contact the sender and delete all copies.


--
This message has been scanned for viruses and dangerous content by
MailScanner, and is believed to be clean.



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


Received on Thu Mar 6 07:47:18 2008

This archive was generated by hypermail 2.1.8 : Thu Mar 06 2008 - 07:48:10 PST