In reference to:
http://verificationguild.com/modules.php?name=Forums&file=viewtopic&t=4356
The following is currently illegal in SVA:
(b, v = e)[->2]
as that is equivalent to:
((!b, v = e)##[0:$](b, v = e))[*2]
and the update of v when !b==1 is not desired.
Question to this group: Do we want in the next LRM update to allow such
a structure
(b, v = e)[->2] , but with the definition that it be equivalent to:
((!b)##[0:$](b, v = e))[*2] , meaning that the sequence match item is only
updated when there is a match of the variable.
Do you feel that this is important?
Ben Cohen
A bit more info about the rule: The consecutive repetition operator can be
applied to general sequence expressions, but the goto repetition and
nonconsecutive repetition operators can be applied only to boolean
expressions. In particular, goto repetition and nonconsecutive repetition
cannot be applied to a boolean expression to which a sequence match item
has been attached. For example, *Code:* // the following is a legal
sequence expression:
(b[->1], v = e)[*2]
// but the following is illegal:
(b, v = e)[->2]
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Tue Dec 20 20:48:58 2011
This archive was generated by hypermail 2.1.8 : Tue Dec 20 2011 - 20:49:16 PST