[comp.lang.c++] C++ __loong_identifiers

samperi@marob.MASA.COM (Dominick Samperi) (02/15/89)

My company is currently evaluating the Oasis port of AT&T's C++ translator
to VAX/VMS, and we have encountered a few problems that others may have
experienced and could comment about. The C source files that are generated
by the translator contain (typically) very long identifiers, resulting
in warning messages from VAX C about the fact that it truncates these
identifier names to 31 characters. Oasis tech support claims that there
may very well be a problem because of this, since some of the identifiers
may differ only in character positions after the 31st. Tech support also
claims that there may be some problems using their translator if VMS
shared libraries are also used (but the nature of the potential problem
was not given).

One suggestion offered by Oasis tech support was to look for a program
on USENET that can be used to map these very long identifiers to
shorter (unique) names. This shouldn't be a difficult process, since
most of the characters in these very long identifiers are underscores!
Does anybody know where I can find this program? How about other solutions
to the "long identifier problem"?

The documentation from Oasis is not very accurate, at least not for the
VMS port. Several of the documented command-line options don't work.

Has anybody else used the Oasis VMS port? Could you perhaps describe
your experiences?

Thanks!


-- 
Dominick Samperi -- ESCC
samperi@acf8.nyu.edu
uunet!hombre!samperi

gjc@bu-cs.BU.EDU (George J. Carrette) (02/16/89)

I was not particularly impressed by the Oasis C++ port of the AT&T
translator, one reason being that they did not deal with that
very important identifier name-length mapping problem.

All one needs to do his own port of the AT&T translator is to
have a c pre-processor such as the one from GNU, and access to
a regular unix system on which to re-translate the translator
with VMS specific include files. One would probably be better
off with a modification of the AT&T translator to avoid generating
large names in the first place. There are a lot more efficient
ways to hash down the size of the names.

-gjc