Re: [sv-ac] question on subroutines on empty sequences

From: Doron Bustan <dbustan_at_.....>
Date: Thu Jan 04 2007 - 05:52:14 PST
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