CEDET 
 User Tools 
  Simple Setup 
  Project Management 
  Smart Completion 
  Find References 
  Code Generation 
  UML Graphs 
  Language Support 
 Developer Primers 
  Add a Language 
  Add external tool 
 Parts of CEDET 
  EDE 
  Semantic 
  SRecode 
  Cogre 
  Speedbar 
  EIEIO 
  Misc Tools 
 Releases 
  1.0pre6 
  1.0pre4 
 Source Forge 
  Project 
  Mailing Lists 
   cedet-devel 
   cedet-semantic 
   cedet-eieio 
  Screenshots 
  Donate 
 More Tools 
  JDEE 
  ECB 
  CompletionUI 
 
<< Files >>

SRecode:

"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.


Downloading CEDET

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

CEDET is currently driving toward a 1.0 release. Try out a pre-release and send in bug reports on the build process, or anything else to the mailing list.

Try out cedet-1.0pre6.tar.gz.

After building CEDET, consider adding your results to the prerelease tested configuration page by adding your own platform information.

Please Note:

If you encounter build problems with a CEDET release, those issues may have already been fixed in CVS! 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 CVS version directly.

 
Get CEDET at SourceForge.net.
Donate With Paypal
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 Eric M. Ludlam
Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.