I agree with Tej, Doron Singh, Tej wrote: > Hi Lisa, > In the formal semantics appendix > (R, v = e) is derived as (R ##0 (1, v = e)) > Although this rule applies to local var assignment, I would extend it > for match items too. > (R, match_item_statement) is derived as (R ##0 (1, match_item_statement)) > So if R is empty, match_item_statement should not be executed since > it becomes (empty ##0 (1, match_item_statement)) which does not result > in match. > Tej > > ------------------------------------------------------------------------ > *From:* owner-sv-ac@server.eda.org > [mailto:owner-sv-ac@server.eda.org] *On Behalf Of *Lisa Piper > *Sent:* Wednesday, January 03, 2007 3:41 PM > *To:* sv-ac@server.eda-stds.org > *Subject:* [sv-ac] question on subroutines on empty sequences > > I have a question. If there is a “sequence_match_item” associated > with a potentially empty sequence, does it get executed when the > sequence is empty? Given the example in the std, there could be a > sequence_match_item associated with the potentially empty seq > (potentially empty meaning a repetition range like [*0:3]) and > also a sequence_match_item associated with the “seq”. Are both > executed simultaneously? > > Starting on page 293 of the document, page 259 of the pdf, it states: > > “ Using 0 as the repetition number, an empty sequence results, as > follows: > > a [*0] > > An empty sequence is one that does not match over any positive > number of clock ticks. The following rules > > apply for concatenating sequences with empty sequences. An empty > sequence is denoted as /empty/, and a > > sequence is denoted as /seq/. > > — (empty ##0 seq) does not result in a match. > > — (seq ##0 empty) does not result in a match. > > — (empty ##n seq), where n is greater than 0, is equivalent to > (##(n-1) seq). > > — (seq ##n empty), where n is greater than 0, is equivalent to > (seq ##(n-1) 'true). > > For example: > > b ##1 ( a[*0] ##0 c) > > produces no match of the sequence. > > b ##1 a[*0:1] ##2 c > > is equivalent to > > (b ##2 c) *or *(b ##1 a ##2 c) > > Lisa > > > -- > This message has been scanned for viruses and > dangerous content by *MailScanner* > <http://www.mailscanner.info/>*, and is > believed to be clean. * > > * > -- > This message has been scanned for viruses and > dangerous content by *MailScanner* <http://www.mailscanner.info/>, 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 Jan 4 05:52:45 2007
This archive was generated by hypermail 2.1.8 : Thu Jan 04 2007 - 05:53:04 PST