From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric M. Ludlam" Newsgroups: gmane.emacs.devel Subject: Re[2]: What IDE features are in CEDET? Date: Sun, 27 Apr 2008 22:28:06 -0400 Message-ID: <200804280228.m3S2S6Yn007728@projectile.siege-engine.com> References: <200804251727.m3PHRv2b012968@projectile.siege-engine.com> <200804261226.m3QCQx6l017646@projectile.siege-engine.com> NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1209349704 8075 80.91.229.12 (28 Apr 2008 02:28:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 28 Apr 2008 02:28:24 +0000 (UTC) Cc: emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 28 04:29:00 2008 connect(): Connection refused Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JqJ6x-0003es-20 for ged-emacs-devel@m.gmane.org; Mon, 28 Apr 2008 04:28:59 +0200 Original-Received: from localhost ([127.0.0.1]:43015 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JqJ6G-0005lC-AZ for ged-emacs-devel@m.gmane.org; Sun, 27 Apr 2008 22:28:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JqJ6B-0005j1-J9 for emacs-devel@gnu.org; Sun, 27 Apr 2008 22:28:11 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JqJ6A-0005i0-Ra for emacs-devel@gnu.org; Sun, 27 Apr 2008 22:28:11 -0400 Original-Received: from [199.232.76.173] (port=45389 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JqJ6A-0005hs-Gy for emacs-devel@gnu.org; Sun, 27 Apr 2008 22:28:10 -0400 Original-Received: from static-71-184-83-10.bstnma.fios.verizon.net ([71.184.83.10] helo=projectile.siege-engine.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JqJ68-00076O-Ai; Sun, 27 Apr 2008 22:28:08 -0400 Original-Received: from projectile.siege-engine.com (localhost.localdomain [127.0.0.1]) by projectile.siege-engine.com (8.12.8/8.12.8) with ESMTP id m3S2S6Zi007732; Sun, 27 Apr 2008 22:28:06 -0400 Original-Received: (from zappo@localhost) by projectile.siege-engine.com (8.12.8/8.12.8/Submit) id m3S2S6Yn007728; Sun, 27 Apr 2008 22:28:06 -0400 In-reply-to: (message from Richard M Stallman on Sat, 26 Apr 2008 17:54:43 -0400) X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:96040 Archived-At: >>> Richard M Stallman 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