[wg11] RE: eep and FDIS part11e2
Jochen Haenisch
Jochen.Haenisch at epmtech.jotne.com
Wed May 19 13:06:40 EDT 2004
Phil,
fine, just adjust:
recursion := NOT (bag_or_referring_instances[j] IN
previous_in_chain);
to be
recursion := NOT (bag_of_referring_instances[j] IN
previous_in_chain);
That is: _of_ not _or_ !
Jochen
> -----Original Message-----
> From: Phil Spiby [SMTP:Phil.Spiby at Eurostep.com]
> Sent: 19. mai 2004 18:21
> To: 'Allison Barnard Feeney'; 'Rob Bodington'
> Cc: 'Expressif'; 'AP-INTEROP-L'; wg11 at steptools.com
> Subject: RE: eep and FDIS part11e2
>
> Allison,
>
> A SEDS hasn't been raised about this yet (as far as I am aware).
>
> I suggest we simply define type labels which link the variables to the
> parameters as follows:
> FUNCTION dependently_instantiated(
> set_of_input_instances : SET OF GENERIC:igen;
> set_of_input_types : SET OF STRING;
> previous_in_chain : LIST OF GENERIC:cgen): BOOLEAN;
> (*"dependently_instantiated" To test whether all instances in the
> input set_of_input_instances are referenced by independently
> instantiable instances. If so, this function returns true.
> Set_of_input_types includes the type strings for all input instances.
> The instances in previous_in_chain are used to detect cyclic
> references during recursive calls to this function. The parameter
> lists already tested instances in a chain of references.
> *)
> LOCAL
> number_of_input_instances : INTEGER;
> number_of_referring_instances : INTEGER;
> bag_of_referring_instances : BAG OF GENERIC:igen := [];
> dependently_instantiated_flag : BOOLEAN;
> previous_in_chain_plus : LIST OF GENERIC:cgen := [];
> recursion : BOOLEAN;
> result : BOOLEAN := true;
> set_of_types : SET OF STRING := [];
> END_LOCAL;
>
> The only place this is used is in the templated rules where the parameters
> passed are declared explicity in the rule as SET OF GENERIC and LIST OF
> GENERIC.
>
> After looking at the rule in a little more detail we could simplify it
> slightly by replacing
> IF EXISTS(previous_in_chain) THEN
> recursion := true;
> REPEAT k:=1 TO SIZEOF(previous_in_chain);
> IF previous_in_chain[k] :=: bag_of_referring_instances[j] THEN
> (* No recursion. *)
> recursion := false;
> ESCAPE;
> END_IF;
> END_REPEAT;
> END_IF;
>
> With
> recursion := NOT (bag_or_referring_instances[j] IN previous_in_chain);
>
> Phil
>
> PS I am currently preparing the IS document, if we can agree the required
> changes I can make them before the document is published.
>
>
> -----Original Message-----
> From: Allison Barnard Feeney [mailto:abf at cme.nist.gov]
> Sent: 18 May 2004 14:25
> To: Rob Bodington
> Cc: Expressif; AP-INTEROP-L
> Subject: eep and FDIS part11e2
>
>
> Hi Rob,
>
> eep reports errors on the function generated by the EDM compiler
> according to the template provided in G.4.3 of part11e2. Clearly, the
> generic types require labels when used in local variables in a function
> (9.5.3.2 Rule b). However, the template in annex G does not provide
> labels. My question is: Have you (EuroSTEP) submitted a SEDS against
> part11e2 and if so, what is the recommended fix? If not, I can submit
> the seds, but I don't know what the fix should be.
>
> Allison
>
More information about the wg11
mailing list