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.
SRecode is currently only available via CEDET/CVS and will be part
of CEDET 1.0pre5 when that is made availab. SRecode is already
powerful enough to build compilable C, ELisp, and Texi programs from
a simple list of Semantic tags with no other user interaction.
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.
You can get SReocode from the
CEDET CVS repository or you can
Browse the sources.
|