From: "Eric M. Ludlam" <eric@siege-engine.com>
To: rms@gnu.org
Cc: emacs-devel@gnu.org
Subject: Re[2]: What IDE features are in CEDET?
Date: Sun, 27 Apr 2008 22:28:06 -0400 [thread overview]
Message-ID: <200804280228.m3S2S6Yn007728@projectile.siege-engine.com> (raw)
In-Reply-To: <E1JpsLz-0000Mc-Ho@fencepost.gnu.org> (message from Richard M Stallman on Sat, 26 Apr 2008 17:54:43 -0400)
>>> Richard M Stallman <rms@gnu.org> seems to think that:
> > I want to see Emacs provide round-trip code to UML and back again
> > interface that works for any language, where refactoring can occur w/
> > a UML diagram editor that re-writes your code.
> >
> >Do you mean to implement this INSIDE Emacs, or just have Emacs use
> >external programs to do it?
>
> Inside Emacs, with external programs optional.
>
>Is a part of this already implemented in Cedet?
>If so, which part?
The short answer:
CEDET has a parser (code to ..) and a UML editor (uml) and a template
manager (.. and back again) and all three can work with any language.
Longer answer:
CEDET has a package called COGRE (connected graph editor) that will
draw and allow editing of UML diagrams in an Emacs buffer. Emacs is
not an ideal environment for drawing diagrams, but it is passable and
quick.
CEDET also has a tool I called SRecode that is a template manager. I
started with Tempo, but it did not have the feature set I needed to
manage complex templates. SRecode is used to create code, and can
already generate a whole compilable program in C++ from a Lisp data
structure. I have not combined CORGE (the UML diagram editor) to
SRecode (template manager) to create code from UML yet.
CEDET also has the Semantic tools which has been more broadly
discussed. It will parse code into a structure that can be
represented by UML. I did write a program that will generate a very
simple UML diagram from the Semantic data, but it is more proof of
concept than anything else. I have a different program that will
create a dot program for drawing broader UML diagrams. DOT requires
an external tool that creates diagrams. If you have DOT installed, it
would be possible to generate an image to display in Emacs, though I
have not written that.
Thus, you can parse a program, and you can edit UML, and you can
generate code with CEDET, but the three have not been combined to
provide the full tool.
For more detail, there is my previous email.
Does this make more sense now?
Eric
prev parent reply other threads:[~2008-04-28 2:28 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-25 17:27 What IDE features are in CEDET? Eric M. Ludlam
2008-04-25 20:09 ` Lennart Borgman (gmail)
2008-04-25 21:45 ` Re[2]: " Eric M. Ludlam
2008-04-25 22:09 ` Lennart Borgman (gmail)
2008-04-25 23:16 ` Re[2]: " Eric M. Ludlam
2008-04-26 14:49 ` Richard M Stallman
2008-04-26 4:45 ` Richard M Stallman
2008-04-26 12:26 ` Re[2]: " Eric M. Ludlam
2008-04-26 21:54 ` Richard M Stallman
2008-04-28 2:28 ` Eric M. Ludlam [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200804280228.m3S2S6Yn007728@projectile.siege-engine.com \
--to=eric@siege-engine.com \
--cc=emacs-devel@gnu.org \
--cc=rms@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.