All: Since the discussion is bringing these in, I think I had better pop my ideas into the mix. See the sketch copied below. J.H. Local Variable Formal Arguments (a.k.a. Pass by Local) ------------------------------------------------------ The keyword "local" followed by a direction "input", "output", or "inout" is used to define a local variable formal argument for a sequence or property declaration. The direction can be omitted, in which case it is understood to be "input". The type of the local variable formal argument must also be specified, either explicitly or inferred from a previous type specification in the formal argument list. A local variable formal argument defines a local variable in the declared sequence or property. Except as noted below, this local variable can be manipulated within the declared sequence or property just as an ordinary local variable. If a local variable formal argument has direction "input" or "inout", then the actual argument expression bound to the local variable formal argument is used to initialize the local variable formal argument at the beginning of each evalution attempt of the sequence or property instance. The actual argument expression must not reference any unassigned local variable. For example property p(local <type> v, ...) ... endproperty p(e,...) behaves like property p(<type> v1, ...) <type> v = v1; // local variable initializer is another enhancement ... endproperty p(e,...) The direction "output" or "inout" can be specified only for a local variable formal argument of a sequence. The actual argument expression bound to an "output" or "inout" local variable formal argument must itself be a local variable of a consistent (how consistent?) type. The directions "output" and "inout" specify that the value of the local variable formal argument flow out of an instance of the sequence and be assigned to the actual argument local variable when the sequence instance matches. The structure of the sequence must ensure that the local variable formal argument flow out according to the flow rules.Received on Tue Oct 17 08:37:03 2006
This archive was generated by hypermail 2.1.8 : Tue Oct 17 2006 - 08:37:17 PDT