The purpose of OMG IDL, Interface Definition Language, mapping is to act as translator between platforms and languages. An IDL specification is supposed to describe data types, object types etc.
Since the
The use of some names is strongly discouraged due to ambiguities. However, the use of some names is prohibited when using the Erlang mapping , as they are strictly reserved for IC.
IC reserves all identifiers starting with
Note also, that an identifier in IDL can contain alphabetic, digits and underscore characters, but the first character must be alphabetic.
Using underscores in IDL names can lead to ambiguities due to the name mapping described above. It is advisable to avoid the use of underscores in identifiers.
The OMG defines a set of reserved words, shown below, for use as keywords. These may not be used as, for example, identifiers.
The keywords listed above must be written exactly as shown. Any usage
of identifiers that collide with a keyword is illegal. For example,
long is a valid keyword; Long and LONG are
illegal as keywords and identifiers. But, since the OMG must be able
to expand the IDL grammar, it is possible to use Escaped Identifiers. For example, it is not unlikely that
typedef string native;
interface i {
void foo(in native Arg);
};
};
With Escaped Identifiers the code will look like:
typedef string _native;
interface i {
void foo(in _native Arg);
};
};