nick@stca77.stc.oz (Nick Lochrin) (06/16/89)
Does anyone know if this is a bug in ISODE-5.0 ?
When defining a ROSE 'OPERATION', the syntax for the 'ARGUMENT' field
(according to the ROSE macro definitions in X.219) is:
-------
Argument ::= ARGUMENT NamedType | empty
-------
and (from X.208) the relevent ASN.1 is:
-------
NamedType ::= identifier Type | Type | SelectionType
Type ::= BuiltinType | DefinedType | SubType
BuiltinType ::= ... | AnyType | ... -- just look at AnyType
AnyType ::= ANY | ANY DEFINED BY identifier
-------
The problem is that when ISODE generates pseudo types, the result of
this operation:
-------
transmitTerminalMessage OPERATION
ARGUMENT ANY -- don't have any identifier
RESULT userResponse ANY -- let's have an identifier
ERRORS
{
userError
}
::= 0
-------
is (after being fed through rosy):
-------
Pseudo-transmitTerminalMessage ::=
ANY
Pseudo-transmitTerminalMessage-1 ::=
userResponse
ANY
-------
The second one is not correct, as this is meant to be a Type definition
not a NamedType, and therefore should not include an identifier.
Has anyone seen this before or has any suggestions ?
many thanks in advance,
nick.
ps. I'd be interested in being added to the ISODE discussion group, if possible.
--
Nick Lochrin nick@stca77.stc.oz
Alcatel STC Australia ...!uunet!stca77.stc.oz!nick
41 Mandible St nick%stca77.stc.oz@uunet.UU.NET
ALEXANDRIA NSW 2015 "Are you the police ?.. No mam, we're musicians."
nick@stca77.stc.oz (Nick Lochrin) (06/16/89)
In article <523@stca77.stc.oz> I wrote: >ps. I'd be interested in being added to the ISODE discussion group, >if possible. I have just been informed that comp.protocols.iso.dev-environ *is* the discussion group. Are there any private mailing lists devoted to the discussion of ISODE ? thanks again. -- Nick Lochrin nick@stca77.stc.oz Alcatel STC Australia ...!uunet!stca77.stc.oz!nick 41 Mandible St nick%stca77.stc.oz@uunet.UU.NET ALEXANDRIA NSW 2015 "Are you the police ?.. No ma'am, we're musicians."
smithg@gec-rl-hrc.co.uk (Graeme Smith, ** ROOT **) (06/19/89)
> > Does anyone know if this is a bug in ISODE-5.0 ? > > When defining a ROSE 'OPERATION', the syntax for the 'ARGUMENT' field > (according to the ROSE macro definitions in X.219) is: > > ------- > Argument ::= ARGUMENT NamedType | empty > > ------- > and (from X.208) the relevent ASN.1 is: > > ------- > NamedType ::= identifier Type | Type | SelectionType > > Type ::= BuiltinType | DefinedType | SubType > > BuiltinType ::= ... | AnyType | ... -- just look at AnyType > > AnyType ::= ANY | ANY DEFINED BY identifier > > ------- This is not an answer to the bug, it is just a comment about the ROSE macro, NamedType is not taken from X.208, it is defined in the OPERATION MACRO itself, as NamedType ::= identifier type | type ------------------------------------------------------------------ A Question Why should the following code cause the error 'undefined type: 64' in rosy, and posy, and work fine with pepy? Test1 DEFINITIONS ::= BEGIN Type1 ::= REAL END I suppose I should really have sent it to BUG-ISODE, but its not up to me to say whether its a bug or a feature!!! Thanks in Advance G R Smith
S.Walton@CS.UCL.AC.UK (Simon Walton) (06/19/89)
You are right, this is a bug. This fix seems to do the trick. Simon ----------------- *** rosy.c.sav Sun Mar 19 07:42:46 1989 --- rosy.c Mon Jun 19 16:15:06 1989 *************** *** 1354,1359 if ((y1 = *yp) == NULLYP || y1 -> yp_code == YP_IDEFINED) return; (void) sprintf (buffer, "Pseudo-%s", id); for (i = 1; lookup_type (mymodule, buffer); i++) --- 1354,1361 ----- if ((y1 = *yp) == NULLYP || y1 -> yp_code == YP_IDEFINED) return; + y1 -> yp_id = NULLCP; + y1 -> yp_flags &= ~YP_ID; (void) sprintf (buffer, "Pseudo-%s", id); for (i = 1; lookup_type (mymodule, buffer); i++)