>>> <klaus.berndl@...> 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: zappo@..., eric@...
Home: http://www.ludlam.net Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org
|