[omniORB] IDL Question

Arnold Kriesten axk@email.ecaard.com
Mon, 7 Jun 1999 10:50:42 -0500


This is a copy of the OMG description for IDL identifiers.
I think, this is your problem.

3.2.3 Identifiers
An identifier is an arbitrarily long sequence of alphabetic, digit, and
underscore (_)
characters. The first character must be an alphabetic character. All
characters are
significant.
Identifiers that differ only in case collide and yield a compilation error.
An identifier
for a definition must be spelled consistently (with respect to case)
throughout a
specification.
When comparing two identifiers to see if they collide:
 Upper- and lower-case letters are treated as the same letter. Table 3-2 on
page 3-3
defines the equivalence mapping of upper- and lower-case letters.
 The comparison does not take into account equivalences between digraphs
and
pairs of letters (e.g., f and ae are not considered equivalent) or
equivalences
between accented and non-accented letters (e.g., A and A are not
considered
equivalent).
 All characters are significant.
There is only one namespace for OMG IDL identifiers. Using the same
identifier for a
constant and an interface, for example, produces a compilation error.

3-6 CORBA V2.2 February 1998


Greetings,

Arnold


> -----Original Message-----
> From: owner-omniorb-list@uk.research.att.com
> [mailto:owner-omniorb-list@uk.research.att.com]On Behalf Of ryan.tecco
> Sent: Monday, June 07, 1999 9:34 AM
> To: Duncan Grisby
> Cc: omniorb-list@uk.research.att.com
> Subject: Re: [omniORB] IDL Question
>
>
>
> My problem was that the exact situation was:
>
> struct Finger
> {
>   //stuff
> }
>
> struct Hand
> {
>   Finger finger[5];
> }
>
> Which omniidl2 complains is a redefinition of the Finger
> type... I fixed
> it.
>
> Thanks!
>
>
> --------------
> ryan.tecco
> 734.647.8057
> microcosm/CAVE programmer
> the university of michigan
> "when all the pettiness is gone,
> what do we really have?"
>
> On Mon, 7 Jun 1999, Duncan Grisby wrote:
>
> > On Sunday 6 June, "ryan.tecco" wrote:
> >
> > > I have a situation like this: (in C++)
> > >
> > > struct OneThing
> > > {
> > >   int counter;
> > > }
> > >
> > > struct SecondThing
> > > {
> > >   OneThing things[5];
> > > }
> > >
> > > How does this translate into IDL?
> >
> > Exactly like that, except that int isn't an IDL type, and
> you need to
> > end your struct definitions with semi-colons like:
> >
> >  struct OneThing {
> >    long counter;
> >  };
> >
> >  struct SecondThing {
> >    OneThing things[5];
> >  };
> >
> >
> > HTH,
> >
> > Duncan.
> >
> > --
> >  -- Duncan Grisby  \  Research Engineer  --
> >   -- AT&T Laboratories Cambridge          --
> >    -- http://www.uk.research.att.com/~dpg1 --
> >
>
>
>