Hi Naoki,

On Thu, 29 November 2001, naoki hashimoto wrote:

> 
> Hello, 
> 
> > > > FUNCTION ::= CLASS {
> > > >
> > > >     &ArgumentType,
> > > >     &ResultType DEFAULT NULL,
> > > >     &Errors ERROR NULL,
> > > >     &Code INTEGER UNIQUE -- ERROR should be &code
> > > > }
> 
> > > > MyFunction{FUNCTION:funct } ::= SEQUENCE { -- ERROR should be Funct
> > > >     opcode FUNCTION.&code({funct}),
> > > >     argument FUNCTION.&ArgumentType({funct} {@Opcode})
> > > > }
> > 
> > Minor points: "funct" should start with an upper case letter and "@Opcode"
> > should be "@opcode".
> > 
> > > > Is it true that argument field in MyFunction is encoded as an OpenType (ie)
> > > > Length encoding followed by the encoding of either SEQUENCE or INTEGER
> > > > depending on Opcode.
> > >
> > > Yes, MyFunction is an open type.
> > 
> > No, MyFunction is a parameterized type that resolves to a SEQUENCE type.
> > "argument" is an open type, not MyFunction.
> 
>  I'd like to confirm. 
> Do you mean
>  
>  "argument" is an open type and  
>  " opcode"  is not an open type?
>

Yes, 'argument' is an open type.

It is also called a "hole", sometimes... (If I had the Rec. in front of me, I could 
give you the precise wording, sorry :-( As I say, I've also seen the expression "open 
type" used to describe the type which contains the hole. So, 'MyFunction', in addition 
to being parameterized, is also "open" in the sense that it contains a hole, which is 
filled in, by the compiler, using "information" from the object-set, when you create a 
value for MyFunction. At least, that is how I imagine it happens :-)

No, 'opcode' is a "object class field type"; its values are defined by the field 
'FUNCTION.&code' of the object-set 'Funct'. In this case, 'opcode' would be an INTEGER 
type whose values have been constrained to be either 1 or 2.

The interesting thing about information object classes is the ability to require that 
"parameters" used to complete the definition come from the same row of the object set. 
This is accomplished by the {@opcode} expression, which is said to relate &code and 
&ArgumentType.

Go Browns!

Patrick Henry
Brunswick Public Library
Brunswick, Ohio, 44212 USA
  
> 
> Thanks
> ------------------------------------------
> Naoki Hashimoto
> SoftLab Inc
> [EMAIL PROTECTED]


Find the best deals on the web at AltaVista Shopping!
http://www.shopping.altavista.com

Reply via email to