Projects / Voodoo Compiler

Voodoo Compiler

The Voodoo compiler is an implementation of the Voodoo programming language. The Voodoo programming language is a low-level programming language, abstracting over the platform's instruction set and calling conventions, but otherwise leaving the programmer free to do anything at all. The Voodoo compiler supports multiple target platforms and provides a stand-alone compiler, as well as a Ruby module for programmatic code generation.

Tags
Licenses
Operating Systems
Implementation
Translations

RSS Recent releases

  •  14 Nov 2012 22:45

Release Notes: Compatibility with Ruby 1.9, in addition to Ruby 1.8; make test now reports the number of passed and failed tests; The many-vars test has been split into many-args, many-args-tail, and many-locals.

  •  30 Jan 2012 00:24

Release Notes: This release adds a number of improvements to the parser, which now reports source code locations for all errors and can report multiple errors inside blocks, functions, and conditionals. Several tests for the parser have been added. This release fixes a parse error on statements followed by comments and a problem which caused the parser to fail on empty input.

  •  15 Jan 2012 02:24

Release Notes: For the ARM code generator, the compiler can now generate assembly and ELF object code for the ARM architecture. More errors are now detected, and errors are reported in easier-to-understand error messages. The new Validator module can be used to validate generated Voodoo code and is used by the parser to validate parsed code. Features of the implementation can be queried both programmatically and from the commandline.

  •  15 Jan 2011 16:37

    Release Notes: Newly added features include blocks, chained conditionals (else if), and shift and rotate operations. The return action may now occur without an expression to evaluate.

    •  21 Nov 2010 15:39

    Release Notes: This release introduces at-expressions: By prefixing a label, local variable, or integer with an @, the value is treated as an address, and the word stored at that address is returned. Additionally, some bugs were uncovered in the way strings were encoded in generated assembly code. These bugs have been fixed, and version 0.6.3 now handles strings containing all 256 possible byte values correctly.

    Screenshot

    Project Spotlight

    Extended Module Player

    A multi-format module player.

    Screenshot

    Project Spotlight

    FreeSpeech

    An application for speech recognition and dictation.