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

  •  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.

    •  05 May 2010 12:27

      Release Notes: This release fixes bugs in the i386 and AMD64 implementations of set-word, and adds tests that cover the cases that previously did not work correctly.

      Screenshot

      Project Spotlight

      Piglet

      A code-configured fluent parser generator.

      Screenshot

      Project Spotlight

      Distributed Multiplatform Framework

      A programming framework in C++ using COM-like elements.