[Codemill-spec] New prototype!!
Status: Planning
Brought to you by:
richard_kolb
|
From: David S. <xe...@ex...> - 2001-03-11 07:08:46
|
Inspired by Richards recent efforts I have released a codemill prototype
of my own. The main thing demonstrated by my prototype is the
template/style system. It is capable of assembling entire class filled
with members and variable (although most of that isn't implemented
yet). This very is only REALLY capable of creating a class with a
constructor and destructor but is still pretty real-world-useful (I have
already created templates/styles for my other projects and started using
it!!). Unfortunately, I do not have the access required to put it up on
sourceforge, but that should be remedied soon. Until then, it is
available via cvs using:
cvs -z3
-d:pserver:ano...@cv...:/cvsroot/codemill
login
password: <just press enter at the password prompt>
cvs -z3
-d:pserver:ano...@cv...:/cvsroot/codemill co
codemill-david
To wet your appetite, here is the README file included with my source:
codemill-david Prototype 1
(codemill version 0.0.1)
This is the first prototype of the codemill-david branch. Although it
is a prototype, it is fairly stable in the features that is does
provide. However, its feature set is very limited:
- C++ Source/Header file creation based on provided templates.
This prototype comes with two sets of templates: simple and complex.
You can specify which on the command line with "-t <template_name>".
Template file are very simple. They are text-based files with a series
of "variables" that codemill expands. The "variables" that can appear
in a template file are language specific. Here is a list of all of the
C++ ones: (see the included templates for examples)
@CLASS@ = the name of the class to create
@AUTHOR@ = the real name of the current user
@HEADER_DEF@ = a version of the header file name,
formatted nicely for use in a "header-protector" define
@HEADER_INCLUDES@ = the include statements required to
solve the dependancies of the class. NOT IMPLEMENTED!
@HEADER_BEGIN@ = the place codemill inserts all of its
class declaration data
@SOURCE_INCLUDES@ = just includes the header file
@SOURCE_BEGIN@ = the place codemill inserts all of its
source file data
- C++ Class creation based on coding style files. This
prototype comes with two styles: loose and tight. You can specify which
you would like on the command line with "-s <style_name>". Style files
look fairly complex, but are essentially just collections of templates
seperated by a LaTeX-like formatting language. (See the included style
files for examples)
- Extendable search paths. By using a "-C <new-search-path>"
option, can add search paths to use when trying to load templates and
styles.
Command line interface:
-l, --language sets the output language (only "cpp"
implement so far)
-f, --source sets the source file
-h, --header sets the header file
-c, --class sets the class (currently only
used for creation)
-s, --style sets the coding style to use
-t, --template sets the file templates to use
-C, --add-search-dir adds a directory to the list of search dirs
Examples:
codemill -l cpp -f test.cpp -h test.h -c NewTestClass
codemill -l cpp -f test.cpp -h test.h -c SimpleClass -t simple
-s loose
codemill -l cpp -f test.cpp -h test.h -c CustomClass -C
~/codemill-files -t MyProject -s MyProject
-- David Snopek
/-- libksd --
| The C++ Cross-Platform Game Framework
| Only want to write it once??
| http://libksd.sourceforge.net
\------------
|