[mico-devel] MICO 2.3.11 (and 2.3.12) - IDL keyword collisions
Tom.Wiggo.Soerlikaaseth at kongsberg.com
Tom.Wiggo.Soerlikaaseth at kongsberg.com
Fri Aug 24 14:56:32 PDT 2007
Hi,
some time ago we migrated to MICO 2.3.11 and recently we discovered some minor problems with the IDL compiler in this version of MICO. The following statement is copied from the changelog for 2.3.11:
- fix IDL compiler to report error when identifier collides with IDL keyword
Obviously this is a good fix, but I'm wondering whether there's really any reason for the check to be case insensitive. In 2.3.11 I cannot use the identifier 'Interface' (<- capital 'I') for e.g. an enumerator because the check introduced matches this to the IDL keyword 'interface' (<- no capital).
This change seems to have been introduced in the ParseNode::setIdent method (idl/parsenode.cc) which now checks whether an identifier matches a keyword and reports an error if it does. To check this the KeywordMap::keyword method (idl/keymap.cc) is used. The keyword method is the one transforming all characters in the identifier to their lower case representations.
So to my actual questions:
Is there any reason based on the CORBA standard that requires this matching to be case insensitive?
Do we risk breaking other functionality in MICO by changing this matching to be case sensitive?
Is this a potential fix for the next MICO version (making the check case sensitive and only report error when actual matches are made)?
Regards,
Tom
--
Tom Wiggo Sørlikåseth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.mico.org/pipermail/mico-devel/attachments/20070824/bd03c94f/attachment.html
More information about the Mico-devel
mailing list