User Tools 
  Simple Setup 
  Project Management 
  Smart Completion 
  Find References 
  Code Generation 
  UML Graphs 
  Language Support 
  Project Support 
 Developer Primers 
  Add a Language 
  Add external tool 
 Parts of CEDET 
  Misc Tools 
 Source Forge 
  Mailing Lists 
  Git Repository 
 More Tools 
<< Files >>


"Template Manager and autormatic Code Authoring system."

SRecode is an infrastructure for managing Emacs based templates which, in turn, are used to write code, possibly based off of Semantic generated tags.

SRecode is not just another templating system for Emacs like skeleton or tempo. The core SRecode template system is not more feature rich or capable than it's predicessors. SRecode becomes powerful when you combine the template cataloging system and naming conventions which allows complex applications to be written where users can override core formatting bits with ease.

Templates are written in special .srt files which are then parsed by Emacs into a hierarchical database of context assocated templates. Simple templates are extracted by name and context to fill in empty files, add functions, or comments. The core template text is based loosely on Google ctemplate with dictionaries and fancy Emacs specific macro substitution.

More complex application specific templates are a mix of Emacs Lisp code and templates. Creating a template based application is a breeze in SRecode where dictionaries can be created and applied to the the template catalog. A single Emacs Lisp application can actually write code to do the same thing in multiple languages based on a strong set core templates for each language.

SRecode will become the code generator for COGRE, allow users to create an object system via UML and then write it out into most languages that have SRecode template support.

If you want to use SRecode for an application, be sure to susbscribe to the cedet-devel mailing list to get help when the info manual doesn't answer your questions.

The image on the right shows a small section of the C/C++ base template. It shows the basic format of the SRecode template language. It includes some basic variable settings, and the "empty" template. The "empty" template is activated if a file is empty. That template includes the "header_guard" template. Automatic section variable HEADER includes it if the empty file is a .h file. All variables used in these templates are automatic, so you do not need to answer questions when inserting these.

Read the doc

The documentation for SRecode is built automatically and made available via randomsample.

Check it out here

Downloading CEDET

All the CEDET tools are available from a single distribution file to ease installation.

Latest Stable Release: CEDET 1.1

Try out cedet-1.1.tar.gz.

CEDET 1.1 includes all the security fixes from 1.0.1, a long list of bug fixes, and additional new features to support Java, Android and Arduino programming!

Our goal for CEDET 1.1 is that this will be the LAST release using the current install and file organization schemes. This will also be the last release to support Emacs 22! Future released versions will use a new file system scheme compatible with Emacs 24.<

After building CEDET 1.1, consider joining the mailing list and help make CEDET better.

Previous Stable Release: CEDET 1.0.1

The previous stable release is cedet-1.0.1.tar.gz. You will need CEDET 1.0.1 for older versions of Emacs, such as Emacs 21 or 22.1.

About this Security Release:
CEDET 1.0 has a security issue related to loading project files with EDE. If you are using CEDET 1.0, please upgrade to CEDET 1.0.1 to recover from this issue. If you use Emacs 23.3 with built-in CEDET, please upgrade to Emacs 23.4 or later, apply the patch, or upgraded to CEDET 1.0.1.

CEDET Development

Did you find a bug?

If you encounter problems with a CEDET release, those issues may have already been fixed in Git! CEDET has an active community of users that help identify and fix these issues quickly. You can check the mailing list archives or just try the Git version directly.

When using CEDET from Git, please note that we are transitioning to a new file and install scheme to be more compatible with Emacs 24. Changes will be required in your .emacs.

Emacs Version Support:

CEDET 1.0.1, and 1.1* has TWO automated build processes, one via Make, and the other via starting Emacs, and executing a build command.

This table shows the automated testing done for the release of CEDET 1.1:

 Emacs 22Emacs 23Emacs 24
UBuntu 11.10
Debian Stable
OSX 10.6
Windows 7/cygwin

Emacs 21 CEDET's test suite will fail, but most parts still work for CEDET 1.0.1.

XEmacs Neither build process works with XEmacs 21.4. It is possible to build parts of it by hand it so it works however.

SXEmacs We have integrated patches to support SXEmacs, but we haven't tested it ourselves. Parts of CEDET have been reported to install and work.

Windows XP/7 If you do not have cygwin, you will need to use the cedet-build.el script to build CEDET.

Get CEDET at SourceForge.net.
gnu Eric's homepage
Return to CEDET.
Send mail to cedet-devel to contact the developers.
Visit Siege-engine.com to see what I do in analog land.

Copyright(C) 1997,98,99,2000,01,02,03,04,05,06,07,08,09,10,11 Eric M. Ludlam
Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.