unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Kai Grossjohann <kai@emptydomain.de>
Cc: Kai Grossjohann <kai@emptydomain.de>, emacs-devel@gnu.org
Subject: Re: ECB
Date: Sun, 04 Jul 2004 11:38:31 +0200	[thread overview]
Message-ID: <867jtkqfhk.fsf@rumba.de.uu.net> (raw)
In-Reply-To: <E1BgwV8-0002zE-SF@fencepost.gnu.org> (Richard Stallman's message of "Sat, 03 Jul 2004 22:13:06 -0400")

Richard Stallman <rms@gnu.org> writes:

>     Note that ECB works with CEDET which provides parsing of source
>     code.  This is a framework that has lots of potential for vastly
>     improving Emacs' support for different programming languages.
>
> Could you tell me more about CEDET?

The home page is cedet.sourceforge.net.  The name stands for
Collection of Emacs Development Environment Tools.  The tool that I
alluded to in my previous message was Semantic.

Semantic is a lexer, a parser generator, and also a parser.  It also
contains some tools to make use of the parsing results.  For example,
Semantic integrates with imenu to provide a better menu.  I think it
also integrates with eldoc to show function prototypes (function
signatures) for more languages.  And I already mentioned the
syntax-driven completion module.  There is also a component for
navigating the source code.  This one can navigate the source
according to syntactic constructs of the language:
forward-identifier, forward-statement, forward-block,
forward-method/subroutine/function/defun, forward-class, ...  There
is also a generalization of backward-up-list which groks statements,
block, classes etc.

My understanding is that the parsers generated by Semantic are
incremental, which is what you need for editing.

In addition to Semantic, there is also EDE which manages projects.
My understanding is that it can parse an AutoMake file and thus knows
which target a certain source file belongs to, so that it can offer
the right make target for compilation.  I guess it can do more that
is not immediately apparent.  There is also another module which can
write Makefiles for you, it appears to be useful for small projects.
Then people don't need to learn make or Autoconf.

Then there is COGRE for drawing diagrams.  It can create UML diagrams
from source code and display them, IIUC.

And then, CEDET contains libraries and utilities that are used for
implementing the other packages.

I hope that I have not misrepresented the CEDET functionality too
much.

>     I think that including CEDET in Emacs would enable various other
>     packages to take advantage of it.  For example, font-lock could
>     be improved by better parsing, as could syntactic indentation.
>     CEDET already provides syntax-driven completion: if x is a
>     struct, then completing after "x." completes the members of that
>     struct.
>
> What language is CEDET written in?

Emacs Lisp.

> What is its license?

GPL.

> How would we make Emacs talk with it?

Like any other Lisp package ;-)

> This could be a big step forward IF there is no horrible snag.

I agree totally.

Kai

  reply	other threads:[~2004-07-04  9:38 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-02 17:51 ECB Richard Stallman
2004-07-02 18:10 ` ECB Jason Rumney
2004-07-02 20:29   ` ECB Jérôme Marant
2004-07-03 18:21   ` ECB Richard Stallman
2004-07-03 21:56     ` ECB Jason Rumney
2004-07-05 14:23       ` ECB Richard Stallman
2004-07-06  1:29         ` ECB Miles Bader
2004-07-06  7:41           ` ECB Jason Rumney
2004-07-06 21:59             ` ECB Richard Stallman
2004-07-03 15:22 ` ECB Kai Grossjohann
2004-07-03 17:05   ` ECB Stefan
2004-07-04  2:13   ` ECB Richard Stallman
2004-07-04  9:38     ` Kai Grossjohann [this message]
2004-07-04 10:24       ` ECB Jason Rumney
2004-07-04 12:01     ` ECB Jens Lautenbacher
     [not found] <E1Bgmxo-0006Bh-0o@monty-python.gnu.org>
2004-07-05 12:06 ` ECB Eric M. Ludlam
2004-07-05 12:53   ` ECB Stefan
     [not found]   ` <E1BhoWE-0004n3-7k@fencepost.gnu.org>
     [not found]     ` <200407061241.i66CfX1w016798@projectile.siege-engine.com>
2004-07-12 23:58       ` ECB Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2004-07-07 16:47 ECB Berndl, Klaus
2004-07-07 16:54 ECB Berndl, Klaus
2004-07-08 23:18 ` ECB Richard Stallman
2004-07-11 23:24 ` ECB Richard Stallman
2004-07-07 16:57 ECB Berndl, Klaus
2004-07-07 20:50 ` ECB Jérôme Marant
2004-07-13 12:42 ECB Berndl, Klaus
2004-07-14 18:26 ` ECB Richard Stallman
2004-07-14 18:27 ` ECB Richard Stallman
2006-03-07 13:48 ECB klaus.berndl
2006-03-07 16:48 ` ECB Stefan Monnier
2006-03-08  4:21 ` ECB Richard Stallman
2006-03-07 17:01 ECB klaus.berndl
2006-03-08  4:22 ` ECB Richard Stallman
2006-03-08  9:45 ECB klaus.berndl
2006-03-09 17:13 ` ECB Richard Stallman
2006-03-08  9:50 ECB klaus.berndl
2006-03-08 14:54 ` ECB Stefan Monnier
2006-03-08 15:08   ` ECB Drew Adams
2006-03-09  4:44     ` ECB Miles Bader
2006-03-08 22:18   ` ECB Eli Zaretskii
2006-03-09 16:04     ` ECB Stefan Monnier
2006-03-09 19:59       ` ECB Eli Zaretskii
2006-03-11 22:05   ` ECB Juri Linkov

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=867jtkqfhk.fsf@rumba.de.uu.net \
    --to=kai@emptydomain.de \
    --cc=emacs-devel@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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).