|
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.
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.
|
|   |
|
|
Eric's homepage|
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. |