Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.146.746 Times

Voodoo Compiler 0.6.2

Company: Robbert Haarman
Date Added: October 14, 2013  |  Visits: 341

Voodoo Compiler

Report Broken Link
Printer Friendly Version


Product Homepage
Download (38 downloads)



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.<br /><br />Voodoo Compiler is written in Ruby and generates code for i386-compatible, AMD64, and MIPS CPUs. Support for additional target CPUs is planned for the future.<br /><br />Usage<br /><br />There are two main ways to use the Voodoo compiler: by running the voodooc program, or by using the Ruby API.<br /><br />The voodooc program compiles a Voodoo source files. Its usage is described in the voodooc.1 manpage, included in the distribution. The following is an example of how voodooc can be used to create an executable hello from a source file hello.voo:<br /><br />$ voodooc hello.voo<br />$ cc hello.o -o hello<br />$ ./hello<br />Hello, world!<br /><br />An implementation of hello.voo can be found in the directory test of the distribution.<br /><br />The second way to use the Voodoo compiler is by using it from a Ruby program. This can be used, for example, to generate code for the target platform without having to create a .voo file. The following is an example which creates an object file called fact.o, containing a definition of a function fact which computes factorials:<br /><br />require 'voodoo'<br /><br />generator = Voodoo::CodeGenerator.get_generator :architecture => :i386,<br /> :format => :elf<br /><br />generator.export :fact<br />generator.add_function_label :fact<br />generator.add_function [:n],<br /> [:ifle, [:n, 1],<br /> # then<br /> [[:return, 1]],<br /> # else<br /> [[:let, :x, :sub, :n, 1],<br /> [:set, :x, :call, :fact, :x],<br /> [:return, :mul, :n, :x]]]<br /><br />File.open('fact.o', 'w') { |outfile| generator.write outfile }<br /><br />The Voodoo compiler API that is a available to Ruby programs is described in the API documentation.

Requirements: No special requirements
Platforms: *nix, Linux
Keyword: Called Creates Facto Generate Object Platform
Users rating: 0/10

License: Freeware Size: 40.96 KB
USER REVIEWS
More Reviews or Write Review


VOODOO COMPILER RELATED
Programming  -  Pasmo 0.6.0.20070113.0
Pasmo project is a Z80 cross assembler, written in standard C++ that compiles easily in multiple platforms. Actually can generate object code in the following formats: raw binary, Intel HEX, PRL for CP/M Plus RSX, Plus3Dos (Spectrum +3 disk), TAP,...
122.88 KB  
Development Editors  -  WMI Delphi Code Creator 1.1.2.170
The WMI Delphi Code Creator tool, allows you to generate Object Pascal and C++ code to access the WMI (Windows Management Instrumentation) classes, events and methods. This freeware tool is inspired by the WMI Code Creator. Features Can...
2.17 MB  
Programming  -  CsoundQt rc
CsoundQt, formerly called QuteCsound, is a cross platform editor and front-end for Csound with real-time graphical control, syntax highlighting, interactive help and automatic launching of Csound from a shell or the API. It can open files created...
8.96 MB  
Development Tools  -  Fisher Science Digital Manometer Serial Driver 1.0
FisherManometer creates a MATLAB object that getspressure measurements from a Fisher Science digital manometer (Fisher Science Education Traceable Manometer/Pressure/Vacuum Gauges, Catalog number: S98189)through a serial interface. Sample usages:...
10 KB  
Network & Internet  -  IdentFavIcon 0.3.4
IdentFavIcon is based on the idea of Don Park called identicon to generate visually pleasing and easily recognizable icons from identifiers, such as IP addresses. This extension replaces the default favicon for web pages without one with a...
20.48 KB  
Libraries  -  AI::Menu 0.01
AI::Menu is a Perl object that generates Tree::Nary objects from directed graphs or a description of the function set. The algorithm is not very efficient (approximately O(F^6), F being the number of functions). It is also not quite as...
6.14 KB  
Libraries  -  Object::Trampoline 1.25
Object::Trampoline is a Perl module for delay object construction, and optionally using the class module, until a method is actually dispatched, simplifies runtime definition of handler classes. SYNOPSIS # adding "use_class" will perform an...
9.22 KB  
Libraries  -  Object::Realize::Later 0.16
Object::Realize::Later is a Perl module with delayed creation of objects. SYNOPSIS package MyLazyObject; use Object::Realize::Later becomes => MyRealObject, realize => load; The Object::Realize::Later class helps with implementing...
10.24 KB  
Development Editors  -  Java Test Object Recorder 1.3.3
Java Test Object Recorder, JTOR, for short, is an application that is able to record the state or behavior of live Java objects for playback during unit testing. The Java Test Object Recorder project provides three "object recorders" to record...
 
Modules  -  Endorse 6.x-1.0-beta1
This module creates a content type called Endorsement (machine name: endorse) and a view for displaying such endorsements and sorting them. It also provides a stand alone form that can be made accessible to anonymous users without giving them...
10 KB  
NEW DOWNLOADS IN LINUX SOFTWARE, PROGRAMMING
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB