Create-a-Project: Creating Stratego/XT projects the simple way
This last week, I spent some free cycles hacking together a small project instantiation tool for Stratego/XT. It makes setting up a fresh Stratego project really simple by automatically populating the project space with a default directory layout, build system files and some minimal program and syntax samples.
To create a project p0, all you have to do is:
$ crap --new-project p0
This creates all the files necessary for a complete GNU Autotools-based build system, including a sample Stratego program (src/xmpl.str):
p0/
Makefile.am
README.Developer
README
AUTHORS
bootstrap
p0.spec.in
NEWS
p0.pc.in
configure.ac
ChangeLog
xmpl/
Makefile.am
syn/
Makefile.am
tests/
Makefile.am
src/
Makefile.am
xmpl.str
Once this is done, you can configure and compile the project,
$ ./bootstrap $ ./configure $ make all
install it,
$ make install
and even run the example transformation program:
$ echo "foo" | /usr/local/bin/xmpl "Hello, World!"
The example program expects an input on stdin [or in a file specified by the -i switch], and will always produce the output string "Hello, World!".
The crap tool is part of the strategoxt-utils package. You can also download a stand-alone snapshot of crap.
More comprehensive documentation is available in the wiki. The tool is still very rough, so any suggestions for improvements and bug reports are very welcome.
- karltk's blog
- Login or register to post comments
