Thread: [CEDET-devel] Include/Import/Using etc...
Brought to you by:
zappo
From: <kla...@sd...> - 2005-06-30 09:57:47
|
Hi Eric and other gurus, =20 reffering to the discussion about making parent class jumpable: =20 IMO we need a parsed using-statement in C++...this should be quite = simple... =20 This leads me to the idea: =20 Why we do not add a :type-slot to include-tags (analogous to the = :type-slot for type-tags (e.g. a tag of type class ahs as :type "namespace") if it is a namespace... =20 So we would parse all stuff like =20 - #include ... (c and c++) - import ... (java) - (require '...) (elisp) - using ... (c++) - etc.. =20 as tags of type 'include and all of them contain their real = specification as :type-slot, so e.g.: =20 parsing =20 using aCplusplusNamespace; =20 would lead to a tag like =20 ("aCplusplusNamespace" include :type "using" ...) =20 What do you think? is this the wrong approach? =20 Ciao, klaus =20 Klaus Berndl mailto: kla...@sd... = <mailto:kla...@sd...>=20 sd&m AG http://www.sdm.de <http://www.sdm.de/>=20 software design & management Carl-Wery-Str. 42, 81739 Muenchen, Germany Tel +49 89 63812-392, Fax -220 =20 |
From: Eric M. L. <er...@si...> - 2005-06-30 12:27:29
|
>>> <kla...@sd...> seems to think that: >Hi Eric and other gurus, > >reffering to the discussion about making parent class jumpable: > >IMO we need a parsed using-statement in C++...this should be quite = >simple... > >This leads me to the idea: > >Why we do not add a :type-slot to include-tags (analogous to the = >:type-slot for type-tags (e.g. >a tag of type class ahs as :type "namespace") if it is a namespace... > >So we would parse all stuff like > >- #include ... (c and c++) >- import ... (java) >- (require '...) (elisp) >- using ... (c++) >- etc.. > >as tags of type 'include and all of them contain their real = >specification as :type-slot, so e.g.: > >parsing > >using aCplusplusNamespace; > >would lead to a tag like > >("aCplusplusNamespace" include :type "using" ...) > >What do you think? is this the wrong approach? [ ... ] Hi Klaus, I've been wondering how to deal with 'using' also. In Java, an import does both an include and a 'using' type action. In C++, include and 'using' are different where the 'include' is really mechanical. Your idea for having two styles of include seems like a good idea, except that in Java the import statement would have both features.... or something. Anyway, there is no reason c.by (line 466) could not be updated to make a new kind of include tag with any kind of attribute you want. The one problem with doing that is that there would be no file associated with it, and far too much of semantic is dependent on the file association. For C++ only, it might make sense to make up a new kind of tag, perhaps like this: using : USING typeformbase SEMICOLON ( TAG $2 'using ) and then do stuff in C++ override methods to take advantage of it. If another language has the same concept (Emacs Lisp/EIEIO has a `with-slots' feature that is similar) it might be possible to pull that feature out of C++ and generalize it. Thanks Eric -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |