[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 \------------ |