|ANN: Voodoo Compiler v0.7.0 Released email@example.com (Robbert Haarman) (2011-01-15)|
|From:||Robbert Haarman <firstname.lastname@example.org>|
|Date:||Sat, 15 Jan 2011 16:57:01 +0100|
|Posted-Date:||16 Jan 2011 11:45:12 EST|
I have just released version 0.7.0 of the Voodoo compiler, hosted at
Blocks provide scopes in which local variables may be defined with let.
Such variables exist from the end of the let statement until the end of
the block. Blocks can occur in any place where an action can occur. They
are started with block end ended with end block.
It is now possible to write else if<test>, instead of requiring a nested
if in the else clause.
Shift and Rotate
Shift actions (asr, bsr, shl, shr) and rotate actions (rol, ror) have
Return Without Value
eturn may now be used without specifying an expression to evaluate. This
causes an undefined value to be returned from the function.
Voodoo is a programming language designed to be a thin abstraction layer
over the native instructions of your CPU, without getting in the way.
This way, Voodoo can be used as a target language for compilers,
providing good performance and support for multiple platforms, without
requiring the compiler writer to implement a full back-end for every
target platform. As such, the primary audience for Voodoo is programming
language implementors. A description of the Voodoo programming language
can be found at http://inglorion.net/documents/designs/voodoo/
The Voodoo compiler is an implementation of the Voodoo programming
language, currently supporting i386, AMD64, and MIPS (little-endian and
big-endian). It provides a compiler program that compiles Voodoo source
code to machine code for multiple target platforms, as well as a Ruby
module that can be used to generate machine code without the
intermediate step of Voodoo source code.
I feel the Voodoo compiler is getting close to where I want it to be
for the 1.0 release. Several features are still on the to-do list,
but what is there should be usable as a target for some programming
languages. Before 1.0, I want to improve the error reporting and the
documentation, so that the compiler becomes more useful to those not
already experienced with it. Also, for 1.0, I want to implement a
mechanism by which clients can query the features of the compiler,
so that they can test for the presence of features or extensions they
Implementing the features for 1.0.0 should not take very long, and I
expect to have it ready in the next couple of months.
If you have any feedback or questions about Voodoo, please let me know.
Thanks for reading, and have a nice day!
Return to the
Search the comp.compilers archives again.