ANN: Voodoo Compiler v0.7.0 Released

Robbert Haarman <comp.lang.misc@inglorion.net>
Sat, 15 Jan 2011 16:57:01 +0100

          From comp.compilers

Related articles
ANN: Voodoo Compiler v0.7.0 Released comp.lang.misc@inglorion.net (Robbert Haarman) (2011-01-15)
| List of all articles for this month |
From: Robbert Haarman <comp.lang.misc@inglorion.net>
Newsgroups: comp.lang.misc,comp.compilers
Date: Sat, 15 Jan 2011 16:57:01 +0100
Organization: Wanadoo
Keywords: available
Posted-Date: 16 Jan 2011 11:45:12 EST

Hello everyone,


I have just released version 0.7.0 of the Voodoo compiler, hosted at
http://voodoo-compiler.sourceforge.net/




Changes
Blocks


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.


Chained Conditionals


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
been added.


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.




About Voodoo
------------


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.




Future Directions
-----------------


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
may require.


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!




Kind regards,


Bob



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.